从 *.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 链接。