动态Dll函数加载出错

时间:2014-04-09 14:46:51

标签: c++

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

1 0 000111B8 ?? 4myclass @nmspace @@ QAEAAV01 @ ABV01 @@ Z = @ ILT + 435(?? 4myclass @nmspace @@ QAEAAV01 @ ABV01 @@ Z)

typedef void(WI​​NAPI * 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没有正确保存...... 错误。

在这种情况下,我可以获得一些问题的帮助。

0 个答案:

没有答案