0

我试图在 masm32 中创建一个库(使用 radasm)以用于其他项目......

库源代码:

.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 uresolved ......

4

1 回答 1

1

共产党:

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
于 2013-05-16T07:59:51.720 回答