• 大小: 427KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-01-11
  • 标签: c++  插件  框架  

资源简介

本资源师自己实现的一套插件机制,用标准C/C++实现,简单修改可以实现跨平台调用,希望给想学习插件架构的同志一个参考

资源截图

代码片段和文件信息

#include “DynamicLib.h“

DynamicLib::DynamicLib(void)
{
m_hDynLib = NULL;
m_pszLibName = NULL;
}

DynamicLib::~DynamicLib(void)
{
if (m_hDynLib != NULL)
{
FreeLib();
}

if (m_pszLibName != NULL)
{
free(m_pszLibName);
m_pszLibName = NULL;
}
}

const char* DynamicLib::GetName() const
{
return m_pszLibName;
}

#if defined(__unix__) || defined(unix)
#include 

bool DynamicLib::LoadLib(const char* strLibName)
{
std::string strName = strLibName;
strName += “.so“;
m_hDynLib = dlopen(strName.c_str() RTLD_LAZY);
if( pLibrary == NULL )
{
return 0;
}
m_pszLibName = strdup(strLibName);

return( 1 );
}

void* DynamicLib::GetSymbolAddress(const char* strSymbolName) const
{
void *pSymbol = NULL;

if (m_hDynLib != NULL)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       8530  2014-06-07 17:39  插件实例\PluginCore\Debug\BuildLog.htm

     文件      49843  2014-06-07 17:07  插件实例\PluginCore\Debug\DynamicLib.obj

     文件         67  2014-06-07 17:39  插件实例\PluginCore\Debug\mt.dep

     文件        663  2014-06-07 12:39  插件实例\PluginCore\Debug\PluginCore.dll.embed.manifest

     文件        728  2014-06-07 12:39  插件实例\PluginCore\Debug\PluginCore.dll.embed.manifest.res

     文件        621  2014-06-07 17:39  插件实例\PluginCore\Debug\PluginCore.dll.intermediate.manifest

     文件      30580  2014-06-07 17:07  插件实例\PluginCore\Debug\PluginInstance.obj

     文件     490936  2014-06-07 17:39  插件实例\PluginCore\Debug\PluginManager.obj

     文件     601088  2014-06-07 17:39  插件实例\PluginCore\Debug\vc90.idb

     文件     364544  2014-06-07 17:39  插件实例\PluginCore\Debug\vc90.pdb

     文件       1795  2014-06-07 16:54  插件实例\PluginCore\DynamicLib.cpp

     文件        454  2014-06-07 13:38  插件实例\PluginCore\DynamicLib.h

     文件        535  2014-06-07 17:07  插件实例\PluginCore\Export.h

     文件       4398  2014-06-07 00:22  插件实例\PluginCore\PluginCore.vcproj

     文件       1377  2014-06-08 01:26  插件实例\PluginCore\PluginCore.vcproj.zxg.zxg123.user

     文件        433  2014-05-21 19:23  插件实例\PluginCore\PluginInstance.cpp

     文件        706  2014-06-07 13:26  插件实例\PluginCore\PluginInstance.h

     文件       2629  2014-06-07 17:39  插件实例\PluginCore\PluginManager.cpp

     文件        828  2014-06-07 17:06  插件实例\PluginCore\PluginManager.h

     文件       8540  2014-06-07 17:43  插件实例\PluginShape\Debug\BuildLog.htm

     文件         67  2014-06-07 17:43  插件实例\PluginShape\Debug\mt.dep

     文件        663  2014-06-07 12:39  插件实例\PluginShape\Debug\PluginShape.dll.embed.manifest

     文件        728  2014-06-07 12:39  插件实例\PluginShape\Debug\PluginShape.dll.embed.manifest.res

     文件        621  2014-06-07 17:43  插件实例\PluginShape\Debug\PluginShape.dll.intermediate.manifest

     文件      36230  2014-06-07 17:43  插件实例\PluginShape\Debug\ShapeExprt.obj

     文件      36985  2014-06-07 17:07  插件实例\PluginShape\Debug\ShapePlugin.obj

     文件     289792  2014-06-07 17:43  插件实例\PluginShape\Debug\vc90.idb

     文件     282624  2014-06-07 17:43  插件实例\PluginShape\Debug\vc90.pdb

     文件       4383  2014-05-21 19:39  插件实例\PluginShape\PluginShape.vcproj

     文件       1377  2014-06-08 01:26  插件实例\PluginShape\PluginShape.vcproj.zxg.zxg123.user

............此处省略26个文件信息

评论

共有 条评论