Interfacer C et ASM
Antoine
-
ghuysmans99 Messages postés 2496 Date d'inscription Statut Contributeur Dernière intervention -
ghuysmans99 Messages postés 2496 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
J'ai plusieurs fichier dans mon projet VC++ 2010, dont un en assembleur dans lequel je définie une fonction.
erreur_asm.asm : (MASM)
erreur_asm.h :
main.c :
Lors de la compilation, j'obtient l'erreur LNK2019 : "Symbole externe non résolu _fonction dans la fonction main". Je pense que le fait d'avoir mis _fonction en PUBLIC devrait résoudre le problème mais non.
Quelqu'un sait-il pourquoi ça ne fonctionne pas svp? Je pense que ça doit venir d'un paramétrage du projet, non?
J'ai plusieurs fichier dans mon projet VC++ 2010, dont un en assembleur dans lequel je définie une fonction.
erreur_asm.asm : (MASM)
.MODEL small, c
.CODE
PUBLIC _fonction
; je met la fonction en public pour pouvoir y acceder depuis
;les autres sources en C.
_fonction:
MOV ah, 4ch ; j'ai mis une instruction au hasard, juste pour tester
int 21h
END ; fin du fichier
erreur_asm.h :
extern void fonction(void);
main.c :
#include "erreur_asm.h"
int main() {
fonction();
return 0;
}
Lors de la compilation, j'obtient l'erreur LNK2019 : "Symbole externe non résolu _fonction dans la fonction main". Je pense que le fait d'avoir mis _fonction en PUBLIC devrait résoudre le problème mais non.
Quelqu'un sait-il pourquoi ça ne fonctionne pas svp? Je pense que ça doit venir d'un paramétrage du projet, non?
Sinon essaie sur ce forum sur lequel 'Faiseur' semble être un pro de la chose, à la différence de moi.
Ritchi
Code MASM :
Antoine