Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Utiliser une fonction ASM compilée (sous MASM) sous Dev-C++ ? [ Archives / c, c++ et asm ] (skirby)

mercredi 6 avril 2005 à 14:16:47 | Utiliser une fonction ASM compilée (sous MASM) sous Dev-C++ ?

skirby

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.


samedi 9 avril 2005 à 17:57:05 | Re : Utiliser une fonction ASM compilée (sous MASM) sous Dev-C++ ?

ShareVB

salut,

pour moi, il faut compiler le fichier ASM avec l'option /coff...

et mettre extern "C" long STDCALL myfnt(long);

et si ca marche pas, dans l'ASM tu rajoutes un _ devant myfnt

et si ca marche toujours pas, on verra...

ShareVB

samedi 9 avril 2005 à 22:47:48 | Re : Utiliser une fonction ASM compilée (sous MASM) sous Dev-C++ ?

skirby

Salut ShareVB,

J'avais fini par trouver la solution et c'est en effet c'est ce qu'il faut faire.

Merci et A+



Cette discussion est classé dans : code, wparam, asm, masm, myfnt


Répondre à ce message

Sujets en rapport avec ce message

algo pour jeu de shoot en asm [ par cable ] Bonjourje suis un jeune débutant en programmation en assembleur et je cherche l'algo (voir le code source) d'un jeu de shoot 'em up en scroling horizo ASM old-style / ASM ancienne méthode [ par TehWan ] Salut, j'aimerais bien coder en assembly de l'ancienne façon, c'est-à-dire sans aucune procédures, simplement des "labels". (excusez mes anglicismes, Variables sour ASM pour 8086 [ par koopje ] Bonjour à tous,Etudiant, je suis en train de m'exercer avec Emu8086, un émulateur (et assembleur, au passage) d'assembleur sour 8086. J'ai tenté de f débutant en asm [ par eax ] salutje débute en asm (avec nasm) et j'arrive pas à assembler mon premier code lolsection .datamsg db 'Hello world$'section .codedebut: lea dx,msg mov bug masm? [ par vecchio56 ] j'ai le code minimal suivant:.386.model flat, stdcall .data .code start: end startmais le pb c'est qu'au linkage il me met nasm - mémoire read-only [ par Funto66 ] Bonjour,je suis en train d'écrire des tutoriaux pour le site Coder-Studio (http://www.coder-studio.com/?page=tutoriaux) mais pour la création du tutor Intégration code asm avec Dev C++ [ par jean_fabrice ] Salut à tousJ'utilise comme compilateur C++, DevC++ 4.9.8.0. Le problème c'est que je n'arrive pas intégrer du code asm dans mes sources. Il me produi portabilité du code [ par sajid_morad ] salut tout le monde, je programme avec le visaul c++ , et j ai inserer un code asm dans mon programme, sashant que j ai un micro pricesseur pentium, v (Debutant en ASM) (MASM) pointeur sur une structure [ par Otaku ] Salut, voila mon pb, j'aimerai créer une fonction en asm qui reçoit un pointeur sur un élément de type structure, jusque-là pas de pbmais comment modi appeller du C en asm [ par S2R ] Bonjour, je voudrait savoir comment utiliser un code écrit en C dans un code assembleur.


Nos sponsors

Sondage...

CalendriCode

Novembre 2008
LMMJVSD
     12
3456789
10111213141516
17181920212223
24252627282930

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,234 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.