C++ 加载动态Dll函数时出错

C++ 加载动态Dll函数时出错,c++,C++,我正在尝试导出DLL并在运行时动态加载它。类的构造函数的dumpbin导出输出提供了以下输出 100000111B8??4myclass@nmspace@@QAEAAV01@ABV01@@Z=@ILT+435(?)??4myclass@nmspace@@QAEAAV01@ABV01@@Z) typedef void(WINAPI*PCTOR)() 我正在尝试使用下面两行获取虚拟地址。 PCTOR PCTOR=(PCTOR)GetProcAddress(hinstLib,(LPCSTR)DWORD

我正在尝试导出DLL并在运行时动态加载它。类的构造函数的dumpbin导出输出提供了以下输出

100000111B8??4myclass@nmspace@@QAEAAV01@ABV01@@Z=@ILT+435(?)??4myclass@nmspace@@QAEAAV01@ABV01@@Z)

typedef void(WINAPI*PCTOR)()

我正在尝试使用下面两行获取虚拟地址。

PCTOR PCTOR=(PCTOR)GetProcAddress(hinstLib,(LPCSTR)DWORD(1)); PCTOR PCTOR=(PCTOR)GetProcAddress(hinstLib,“??”??4myclass@nmspace@@QAEAAV01@ABV01@@Z”)

然后我用下面的行调用构造函数
pCtor()

当我使用DWORD(1)
pCtor值-nmspace::myclass::operator=(类nmspace::myclass const&)

pCtor()工作正常。

但对于第二行,使用导出函数的实际值 pCtor值-nmspace::myclass::myclass(void)

pCtor()告诉我ESP未正确保存…错误


我可以得到一些帮助,在这个案例中有什么问题。< /P>为C++库编写C包装器,并动态加载这个C包装器。在这个回答中,用C包装函数替换VoUT*的Objb*。你是想用C代码从C++类调用方法吗?还有很多事情要考虑……为什么不简单地导出类呢?如果你需要C接口,然后嵌入它驻留的类。我有一个第三方C++库,它在我的应用程序中使用。我只想在应用程序需要时加载DLL。因此,我尝试使用…的帮助。我尝试使用问题中提到的getProcaddress。它可以很好地使用DWORD的语法。但我想了解在这两种情况下返回的两个函数指针之间的基本区别。