问题描述
我有一个第三方DLL。 我正在追踪这份文件 https://www.codeproject.com/Articles/9405/Using-classes-exported-from-a-DLL-using-LoadLibrar
而且我可以加载DLL(由于x64环境的原因,在IA32和x64 Pin的注释替代中使用代码段)
typedef void (WINAPI* PCTOR) ();
typedef uint32_t (WINAPI* PCOLLAPSE) (sap::ve::core::Entity* __ptr64);
HMODULE hDLL = LoadLibrary(L"f:\\Processing.dll");
// check if dll was loaded
if (hDLL == NULL) {
// error
return;
}
EntityCollapser* ecc = (EntityCollapser*)malloc(sizeof(EntityCollapser));
PCTOR pCtor = (PCTOR)GetProcAddress(hDLL,(PCSTR)13);
PCOLLAPSE Collapse = (PCOLLAPSE)GetProcAddress(hDLL,(PCSTR)140);
//make ctor wrappers
typedef void (EntityCollapser::* MF_NoArgs)();
void (EntityCollapser:: * mfpCtor)();
mfpCtor = horrible_cast<MF_NoArgs>(pCtor);
auto ctor = std::mem_fn(mfpCtor);
ctor(ecc);
//===> i Need to call ecc->Collapse(nullptr); ID 140
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)