我试图在masm32中创建一个lib(使用radasm)以用于其他项目...
libs源代码:
.386
.MODEL flat,stdcall
option casemap:none
.code
start:
PUBLIC HookProc
HookProc proc addy:DWORD
并在msvc中使用:
extern "C" void* HookProc(void* ptr);
#pragma comment(lib, "TestHook.lib")
然而这会产生错误:
Win32Project1.obj:错误LNK2019:函数_wmain中引用了未解析的外部符号_HookProc
但我在lib中看到
!<arch>
/ 1368690603 0 20 `
®_HookProc@4/ 1368690603 0 26 `
为什么msvc看不到lib中的这个proc? ; /这是否与@4
?
编辑:更改为.MODEL flat, c
摆脱@ 4,但仍然_HookProc已解决......
答案 0 :(得分:1)
CPP:
extern "C" int GetValue(void);
int main(int argc, char*arg[])
{
char *p = "test";
int v = GetValue();
return 0;
}
ASM:
.486
.model flat, C
option casemap :none
.code
GetValue PROC
mov eax, 1234
ret
GetValue ENDP
END