problem mit dlls bei tasm
-
hallo..
hab mich mal wieder entschlossen bei asm weiterzuüben..
es geht um win32 asm code..und zwar habe ich den tasm 5.0
hier der code erst, die frage kommt am schluss:
.386
.model flatinclude windows.inc
extrn ExitProcess : near
extrn MessageBoxA : near.data
VAR dw 0
Meldung db "ich bring dich um !",0
Titel db "Crashed...",0.code
MainProc:
push MB_ICONHAND or MB_OK
push offset Titel
push offset Meldung
push 0
call MessageBoxApush 0
call ExitProcessend MainProc
Frage:
ich compiliere das mit "tasm32 win32.asm"
danach linke ich es mit "tlink32 win32.obj c:\..\tasm50\lib\import32.lib"es kommen keine errors..
wenn ich win32.exe ausführe kommt eine fehlermeldung:
"Der prozedureinsprungspunkt "EXITPROCESS" wurde in der dll "kernel32.dll"
nicht gefunden."was mach ich falsch ??
liegts am code oder am linken ?mfg
haMMer
-
Da fehlen ein paar Switches, sowohl beim Kompilieren als auch beim Linken. Versuche es mal so:
tasm32 /ml win32.asm
tlink32 /c /aa /Tpe win32.obj,,,C:\..\tasm50\lib\import32.lib
-
tatsächlich...
jetz gehts.. thx
mfg
-
hab nochmal nen problem.
ich möchte Funktionen aus der wininet.lib in tasm verwenden..
jetzt hab ich mir überlegt, die wininet.lib aus meinem c++ verzeichnis zu verwenden.. nur es geht nicht.tlink32 -c -aa -Tpe farworm.obj c:\..\lib\import32.lib c:\..\lib\wininet.lib
die import32.lib reicht jedenfals nicht aus..
wie muss ich vorgehen ?
mfg
haMMer
-
Es gibt im BIN Verzeichnis von TASM die implib.exe. Damit kannst du aus DLLs Dateien LIBs erstellen. Achte darauf, dass du den Switch für case sensitive angibst.