.obj file mit masm erstellen und in c (dev-cpp) verwenden.

Offizieller deutscher Support für das MASM32 SDK. Download FAQ

Moderatoren: crack, Krüsty, Marwin

Antworten
einGast

.obj file mit masm erstellen und in c (dev-cpp) verwenden.

Beitrag von einGast » Montag 23. Mai 2005, 19:16

Hi, ich möchte eine asm routine mit masm entwickeln und dann über das erzeugt obj file in ein C projekt einbinden, das ist was ich bisher habe:

checksum.asm:

Code: Alles auswählen

.486 
.model flat, C      ; standard c calling convetion
option casemap :none      ; case sensitive
.radix 10                 ; numbers are decimal


Checkme  proto C,  Value:DWORD ; interner Prototyp für Funktion
PUBLIC Checkme 
chkVal      equ     15d

    
.CODE

Checkme PROC Value:DWORD
    xor eax, eax
    mov ebx, chkVal
    mov eax, Value
    mul ebx
    ret
Checkme ENDP  

END
checksum.h:

Code: Alles auswählen

#include "windows.h"

extern  DWORD Checksum(DWORD);
main.c (gekürzt ;) ):

Code: Alles auswählen

#include "asm.h"

int main(int argc, char *argv[])
{
    Checkme(100);
    return (0);
}
wenn ich das nun in dev-cpp kompiliere bekomme ich folgenden fehler:

Code: Alles auswählen

  [Linker error] undefined reference to `Checkme(unsigned long)' 
Die Object Datei habe ich natürlich dem Projekt hinzugeügt... kann mir jenmand helfen, muß ich die Funktion im ASM file als extern deklarieren, wenn ja, wie geht das, bekomme dann diverse errors...

Tips sind willkommen, danke im voraus :)

Antworten