在vs2013中用汇编器制作dll

Making dll in assembler in VS 2013

本文关键字:dll 汇编器 vs2013      更新时间:2023-10-16

当我尝试制作dll文件时,我得到了错误:

1>asselib.def : error LNK2001: unresolved external symbol MyProc
1>C:Usersel banditoDocumentsVisual Studio 2013ProjectstestyasselibDebugasselib.lib : fatal error LNK1120: 1 unresolved externals

项目样貌:

- i选择新建项目-> win32项目-> DLL,导出符号

-sourcefile -> add new item -> asselib.asm

.486
.model flat, stdcall
.code
MyProc proc x: DWORD, y: DWORD
ret
MyProc endp
end

-sourcefile -> add new item -> asselib.def

LIBRARY "asselib"
EXPORTS
MyProc

-project -> build customization -> masm

-project -> properties -> link -> input -> Module Def File

我记得您必须显式地将过程声明为外部。

PUBLIC MyProc
MyProc proc x: DWORD, y: DWORD
ret 8
MyProc endp

同样,标准调用约定假定被调用方清除堆栈。这意味着ret 8而不是ret