当我尝试制作dll文件时出现错误:
1>asselib.def : error LNK2001: unresolved external symbol MyProc
1>C:\Users\el bandito\Documents\Visual Studio 2013\Projects\testy\asselib\Debug\asselib.lib : fatal error LNK1120: 1 unresolved externals
项目如何:
- 我选择了新项目 - > win32项目 - > DLL,导出符号
-sourcefile - >添加新项目 - > asselib.asm
.486
.model flat, stdcall
.code
MyProc proc x: DWORD, y: DWORD
ret
MyProc endp
end
-sourcefile - >添加新项目 - > asselib.def
LIBRARY "asselib"
EXPORTS
MyProc
-project - >构建定制 - > MASM
-project - >属性 - >链接器 - >输入 - >模块定义文件,asselib.def
答案 0 :(得分:0)
我记得你必须明确地将程序声明为外部。
PUBLIC MyProc
MyProc proc x: DWORD, y: DWORD
ret 8
MyProc endp
此外,stdcall约定假定被调用者清理堆栈。这意味着ret 8
而不是ret
。