Utiliser une fonction ASM compilée (sous MASM) sous Dev-C++ ?
skirby
Messages postés
96
Date d'inscription
vendredi 1 avril 2005
Statut
Membre
Dernière intervention
26 juillet 2007
-
6 avril 2005 à 14:16
skirby
Messages postés
96
Date d'inscription
vendredi 1 avril 2005
Statut
Membre
Dernière intervention
26 juillet 2007
-
9 avril 2005 à 22:47
Bonjour,
j'essaye désespérément d'intégrer une fonction assembleur (compilée sous MASM) dans Dev-C++ (v4.9.9.2)
Voici mon code C :
/**************** Code C ****************/
#include <windows.h>
#include "rc_dlg.h"
extern long STDCALL myfnt(long);
/* prototype for the dialog box function. */
static BOOL CALLBACK DialogFunc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam);
int WINAPI WinMain (HINSTANCE hThisInstance, HINSTANCE hPrevInstance, LPSTR lpszArgument, int nFunsterStil)
{
DialogBoxParam(hThisInstance, MAKEINTRESOURCE(IDD_DLG1), NULL, (DLGPROC) DialogFunc, 0);
}
BOOL CALLBACK DialogFunc(HWND hwndDlg, UINT msg, WPARAM wParam, LPARAM lParam)
{
char s[255];
switch (msg) {
case WM_INITDIALOG:
wsprintf(s, "Valeur : %d", myfnt(10));
MessageBox( 0, s, "Title", 0);
return TRUE;
case WM_CLOSE:
EndDialog(hwndDlg,0);
return TRUE;
}
return FALSE;
}
/**************** Code ASM ****************/
Et voici mon code assembleur (compilé avec MASM)
.386
.model flat, stdcall ;32 bit memory model
option casemap :none ;case sensitive
.code
myfnt proc public arg1:dword
add arg1, 10
mov eax, arg1
myfnt endp
end
/*****************************************/
A la compilation, j'ai ceci comme erreur :
[Linker error] undefined reference to `_Z5myfntl@4'
ld returned 1 exit status
D:\tmp\Makefile.win [Build Error] [test.exe] Error 1
J'ai ajouté dans les options de mon projet l'emplacement de mon fichier
asm compilé function.o (dans "Project options", onglet "Parameters" et
zone "Linker")
Qu'est ce qui ne va pas ?
Merci d'avance pour votre aide.