Also die Lib lässt sich ja problemlos einbinden (habs auch mit #pragma comment gemacht), allerdings bekomme ich trotzdem eine Fehlermeldung, dass es ein unaufgelöstet externes Symbol gibt.
Ich habe mir meine eigene Header-Datei geschrieben:
|
C-/C++-Quelltext
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#if _MSC_VER > 1000
#pragma once
#endif
#ifndef __MYFUNCTION_H__
#define __MYFUNCTION_H__
#ifdef __cplusplus
extern "C" {
#endif
__int32 __cdecl myFunction(__int32);
#ifdef __cplusplus
}
#endif
#endif // __MYFUNCTION_H__
|
Die Assembler-Datei sieht so aus:
|
Quellcode
|
1
2
3
4
5
6
7
8
9
|
myFunction proto x: sdword
.code
myFunction proc x: sdword
mov eax, x
mul eax
ret
myFunction endp
|
Testweise habe ich einfach mal eine einfache Funktion genommen.
Die Header-Datei habe ich dann in mein C++-Projekt inkludiert. Aus der Assembler-Datei habe ich erfolgreich die Bib erzeugt und auch ins Projekt eingebunden, aber irgendwie rafft der Linker nicht, dass der Prototyp der Header-Datei die Funktion aus der Bib repräsentiert.
Die Einstellungen des Assemblers sind: Prozessor 686p, Alignment 4
Compiler-Options: /nologo /c /coff /Cp /Zp4 /Zi /Zd
Library-Options: /nologo /subsystem:windows /machine:ix86
Hat da jemand von euch erfahrung mit und kann mir sagen, was ich noch einstellen oder berücksichtigen muss? Kann ich vielleicht Assembler-Code (ich meine keinen Inline-Assembler, sondern asm-Dateien) in VS2003 direkt einbinden und mit kompilieren?
vielen Dank!
Tamer.