25.12.2005, 08:07
общий
это ответ
Здравствуйте, Zloy_pes!
stdcall вначале убери, entrypoint "__dll_start" is.... ругается на это, потому что нужно не передавать не менее 12 байтов параметров, метку _dll_start: нужно поставить после процедуры и в ней eax присвоить отличное от нуля значение(длл должна возвращать в еах ненулевое значение)
строку implib mylibrary.lib mylibrary.dll писать не надо(у тебя итак длл создается, когда ее компилишь)
Приложение:
ml /c /coff prog.asmlink prog.obj /DLL /entry:dll_start /subsystem:windows /export:myfunc;dll prog.asm.386.model flat public _myfunc@12.code_myfunc@12 procmov eax, 1add eax, 2ret 12_myfunc@12 endp_dll_start@12:xor eax,eaxinc eaxretend _dll_start@12;proga.asm;ml /c /coff proga.asm;link proga.obj /subsystem:console .386.model flat, stdcallincludelib prog.libmyfunc proto :dword,:dword,:dword.codestart:push 0push 0push 0call myfuncretend start