я пытаюсь сделать lib в 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: неразрешенный внешний символ _HookProc, указанный в функции _wmain
но я вижу в библиотеке есть
!<arch>
/ 1368690603 0 20 `
®_HookProc@4/ 1368690603 0 26 `
Почему не могу MSVC увидеть этот процесс в библиотеке ?? ; / это как-то связано с @4
?
Изменить: изменено на .MODEL flat, c
что избавился от @ 4, но _HookProc все еще не решен ……
CPP:
extern "C" int GetValue(void);
int main(int argc, char*arg[])
{
char *p = "test";
int v = GetValue();
return 0;
}
КАК М:
.486
.model flat, C
option casemap :none
.code
GetValue PROC
mov eax, 1234
ret
GetValue ENDP
END
Других решений пока нет …