Appel de fonction en autre langage sous C

Résolu/Fermé
fleur_du_mal Messages postés 23 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 26 août 2010 - 26 juil. 2010 à 14:53
Krysstof Messages postés 1483 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 23 août 2010 - 27 juil. 2010 à 12:38
Bonjour,
serait-il possible d'appeler des fonctions ou scriptes écrits en d'autres langages à partir de programme en langage C.


A voir également:

4 réponses

Krysstof Messages postés 1483 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 23 août 2010 294
26 juil. 2010 à 14:57
oui c'est possible, il faut faire des bibliothèque (sous windows, des DLL). et autres petits truc pour lier ces bibliothèque à ton programme C.

le problème c'est que le sujet est assez vaste si tu ne nous donne pas plus de précision : Quelle version du langage C tu utilise
0
fleur_du_mal Messages postés 23 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 26 août 2010 1
26 juil. 2010 à 15:03
au fait je travaille sous VMS et voilà la version que j'utilise:
HP C V7.3-018 on OpenVMS IA64 V8.3
donc je ne sais pas si on peut me renseigné la dessus.
0
Krysstof Messages postés 1483 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 23 août 2010 294
26 juil. 2010 à 15:20
hum, OK, je comprends mieux pourquoi ta question peut paraitre épineuse :)

en gros, tout va dépendre des langages et techno étrangère que tu veux plugger dans ton programme en C.

pour faire une "bibliothèque" ou équivalent sur VMS (ou n'importe quel systeme d'ailleur) il faut déclarer les fonctions et procédure que tu veux appeler comme étant "appelable" de l'exetérieur.
(exemple en C y une instruction 'extern' pour la déclaration de type et de fonction qui va signaler au compilateur que ces prototypes seront appelable par une entité extérieure au programme)

si tes logiciel extérieurs ne supporte pas ce genre de déclaration, ou ne sont pas compilé (genre du script shell vms par exemple, j'y connais rien)
Il faudra essayer de passer par une API s'il y en a une.

quoi qu'il en soit, ce n'est pas au niveau du programme en C que tu dois chercher, mais au niveau des autres techno

tu peux aussi toujour utiliser des appel systeme ( du genre 'exec' ) si tu n'a pas besoin de récuperer des information juste lancer des commandes.
0
fleur_du_mal Messages postés 23 Date d'inscription jeudi 22 avril 2010 Statut Membre Dernière intervention 26 août 2010 1
26 juil. 2010 à 15:35
merci pour ta réponse :).
Au fait moi j'ai des programmes (avec plusieurs fonctions) déjà écrits en un langage autre que le C et je voulais les utiliser tels qu'ils sont sans avoir à les migrer en C. et pour ce qui est de l'instruction "extern" s'est pris en compte par le compilateur. par contre je vois pas trop comment faire pour appeler mes procédures.
0
Krysstof Messages postés 1483 Date d'inscription mercredi 18 février 2009 Statut Membre Dernière intervention 23 août 2010 294
27 juil. 2010 à 12:38
> déjà écrits en un langage autre que le C

ce n'est pas a ton programme en C d'inventer des trucs, c'est aux programme déja fait dans ces autres langage de faire des points d'entrées. relis bien ce que j'ai écris avant

Extern est un exemple en C pour faire des points d'entrée pour d'autre programme. Toi tu veux faire l'inverse, c'est donc aux autre programme de faire l'équivalent de ce Extern.
0