以前在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();