Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1364 connectés 

  FORUM HardWare.fr
  Programmation

  Intégrer une procédure Assembleur dans un programme C

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Intégrer une procédure Assembleur dans un programme C

n°15672
Keysersoze
Posté le 23-02-2001 à 20:50:24  profilanswer
 

Bonjour,
Dernièrement j'ai reçu un dossier en Assembleur dans lequel je devais ecrire une procédure et non pas une MACRO avec laquelle je devais l'intégrer dans un programme C et faire appel de cette procédure dans ce programme C. Cependant je n'ai trouvé aucune informations concernant cette manipulation. On m'a dit qu'il fallait déclarer dans le code source du fichier ASM la procédure en PUBLIC et faire appel de cette procédure en C en EXTERN. Mais pour l'instant cela ne veut pas marcher du tout. POUVEZ VOUS M'AIDER??? Je suis totalement bloqué !!! Je vous remercie d'avance et espère que vous avez réponse à ma question. A bientôt.

mood
Publicité
Posté le 23-02-2001 à 20:50:24  profilanswer
 

n°15676
z51
Posté le 23-02-2001 à 21:12:32  profilanswer
 

Dans ton fichier asm tu déclares effectivement ta fonction en public :
PUBLIC TaFonction
Et dans le C
extern void TaFonction(int, int, ...)
 
Par contre tu seras peut-être amené à changer la déclaration de la fonction dans le fichier asm en fonction du format d'exportation utilisé par ton compilateur. Pour t'en assurer, édite une lib générée avec ce compilo dans un éditeur hexa, et regarde s'il ajoute des caractères au nom de la fonction (qui apparaît explicitement sous forme d'une chaîne de caractère).
Watcom par exemple ajoute un "_" après le nom, Visual l'exporte tel quel il me semble ...

n°15679
Keysersoze
Posté le 23-02-2001 à 21:20:55  profilanswer
 

Ok c'est vraiment génial. Et je suppose que je dois linker en même temps l'obj de ma procédure avec l'obj de mon programme C.
ENCORE UN GRAND MERCI.

n°15681
la viper
Posté le 23-02-2001 à 21:25:44  profilanswer
 

dans ton C
 
extern ma_fonction(int a);
 
dans ton asm
 
ma_fonction: ...

n°15683
Keysersoze
Posté le 23-02-2001 à 21:50:57  profilanswer
 

z51 a écrit a écrit :

Dans ton fichier asm tu déclares effectivement ta fonction en public :
PUBLIC TaFonction
Et dans le C
extern void TaFonction(int, int, ...)
 
Par contre tu seras peut-être amené à changer la déclaration de la fonction dans le fichier asm en fonction du format d'exportation utilisé par ton compilateur. Pour t'en assurer, édite une lib générée avec ce compilo dans un éditeur hexa, et regarde s'il ajoute des caractères au nom de la fonction (qui apparaît explicitement sous forme d'une chaîne de caractère).
Watcom par exemple ajoute un "_" après le nom, Visual l'exporte tel quel il me semble ...




 
Ok c'est vraiment génial. Et je suppose que je dois linker en même temps l'obj de ma procédure avec l'obj de mon programme C.  
ENCORE UN GRAND MERCI.

n°15689
z51
Posté le 23-02-2001 à 22:20:24  profilanswer
 

oui. Pas de quoi ! à+


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  Intégrer une procédure Assembleur dans un programme C

 

Sujets relatifs
[TP7] Procédure pour lire et exécuter un fichier son (.wav)Programme en turbo pascal
bonjour,je cherche un programme en c de gestion de bibliothèque. MerciProgramme compile mais marche pas ! [JAVA]
trés urgent Programme en turbo pascalintégrer une base de donnée sur frontpage ?
VB6 Passé un objet form a une procédure commune???A l'aide, besoin d'un pro de l'assembleur !!!!!
où trouver un compilateur assembleurpetite question sur l'assembleur...
Plus de sujets relatifs à : Intégrer une procédure Assembleur dans un programme C


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR