我正在尝试实现一个插件系统,但我遇到了一些问题。在插件 DLL 中,我有这样的代码:
extern "C" __declspec(dllexport) void InitPlugin(PluginManager* pMgr)
{
pMgr->RegisterPlugin(new MyPluginObject);
}
MyPluginObject
派生自纯虚拟 PluginObject 类。在PluginManager::RegisterPlugin()
中,指向插件对象的指针被存储以供以后使用。MyPluginObject
我可以从内部成功调用一个函数RegisterPlugin()
,但是一旦InitPlugin
返回,每当我尝试使用存储在RegisterPlugin()
. 我该如何解决?