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
