加载库类实例VS2019

问题描述

我有一个第三方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 (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...