从 DLL 导入 C++ 类的正确方法是什么?我们正在使用 Visual C++。
有 dllexport/exports.def+LoadLibrary+GetProcAddress 三重奏,但它不适用于 C++ 类,只能用于 C 函数。这是由于 C++ 名称修改造成的吗?我该如何完成这项工作?
最佳答案
您需要添加以下内容:
extern "C"
{
...
}
避免函数损坏。
您可以考虑编写两个简单的 C 函数:
SomeClass* CreateObjectInstace()
{
return new SomeClass();
}
void ReleaseObject(SomeClass* someClass)
{
delete someClass;
}
通过仅使用这些功能,您可以在之后添加/更改对象创建/删除的功能。这有时被称为工厂。
关于c++ - 从 DLL 动态导入 C++ 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/110833/