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

 


Dernière réponse
Sujet : Intégrer une procédure Assembleur dans un programme C
z51 oui. Pas de quoi ! à+

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
z51 oui. Pas de quoi ! à+
Keysersoze

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.

la viper dans ton C
 
extern ma_fonction(int a);
 
dans ton asm
 
ma_fonction: ...
Keysersoze 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.
z51 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 ...
Keysersoze 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.

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)