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
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
A voir également:
- Appel de fonction en autre langage sous C
- Fonction si et - Guide
- Appel inconnu - Guide
- Nommez une application d'appel vidéo ou de visioconférence - Guide
- Langage binaire - Guide
- Appel externe c'est quoi - Forum telephonie fixe
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
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
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
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
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.
HP C V7.3-018 on OpenVMS IA64 V8.3
donc je ne sais pas si on peut me renseigné la dessus.
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
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.
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.
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
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.
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.
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
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.
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.