从 *.lib c++ 调用
calling from a *.lib c++
谁能告诉我如何从 lib 文件中调用这种类型的函数(我从 dumpbin /list
得到的)
这里是:
00A 00000000 SECT4 notype External | ?GetWindowPauseOnSizeMove_ext@@3P6G_NXZA (bool (__stdcall* GetWindowPauseOnSizeMove_ext)(void))
我试过了
#pragma comment( lib, "MyLib" )
extern "C" bool _stdcall GetWindowPauseOnSizeMove_ext(void)
但是我得到这个错误
Severity Code Description Project File Line Suppression State
Error LNK2019 unresolved external symbol _GetWindowPauseOnSizeMove_ext@0 referenced in function _Test NF_dll D:\Test\Test\main.obj 1
任何帮助都会很棒
根据 dumpbin
列表中的参数修改,该函数似乎已实际编译为 C++。
尝试删除 extern "C"
,并尝试使用调用约定(__stdcall
、_cdecl
、__fastcall
)。
如果http://demangler.com/正确,函数签名应该是:
BOOL __stdcall GetWindowPauseOnSizeMove_ext(void)
即接近您所拥有的,仅使用 C++ 链接而不是 C 链接。
谁能告诉我如何从 lib 文件中调用这种类型的函数(我从 dumpbin /list
得到的)
这里是:
00A 00000000 SECT4 notype External | ?GetWindowPauseOnSizeMove_ext@@3P6G_NXZA (bool (__stdcall* GetWindowPauseOnSizeMove_ext)(void))
我试过了
#pragma comment( lib, "MyLib" )
extern "C" bool _stdcall GetWindowPauseOnSizeMove_ext(void)
但是我得到这个错误
Severity Code Description Project File Line Suppression State
Error LNK2019 unresolved external symbol _GetWindowPauseOnSizeMove_ext@0 referenced in function _Test NF_dll D:\Test\Test\main.obj 1
任何帮助都会很棒
根据 dumpbin
列表中的参数修改,该函数似乎已实际编译为 C++。
尝试删除 extern "C"
,并尝试使用调用约定(__stdcall
、_cdecl
、__fastcall
)。
如果http://demangler.com/正确,函数签名应该是:
BOOL __stdcall GetWindowPauseOnSizeMove_ext(void)
即接近您所拥有的,仅使用 C++ 链接而不是 C 链接。