解决Visual C++ 2022(V143) GetProcAddress为NULL的问题

发布时间 2023-03-29 14:25:24作者: zhaotianff

以前在Visual Studio 2019及以前的版本都没有遇到过,换成Visual Studio 2022后。

一开始是LoadLibrary为NULL,后面将测试工程和动态库工程都换成x64后可以了,但是GetProcAddress又不行了。

 

找了一下原因如下:

因为我这里使用了模块定义文件进行导出,所以这种情况的解决办法是 增加函数调用约定为 __stdcall,像下面这样

1 __declspec(dllexport) VOID __stdcall UnInstal

 

如果是使用extern "C"这种方式进行导出的话,GetProcAddress是没问题的。

1 extern "C" __declspec(dllexport) VOID  UnInstallXXX();