littlebot
Published on 2025-04-08 / 1 Visits
0

【源码】基于C++的通用插件管理系统

项目简介

gplug(通用插件管理库)是一款用于实现应用程序中插件统一管理的库。它能够对插件进行加载、初始化、取消初始化以及卸载操作,并且支持在运行时动态添加和删除插件。该库的核心设计是将插件接口与用户功能接口分离,插件管理器通过插件规范接口获取插件功能接口,从而实现与插件的直接交互。

项目的主要特性和功能

  1. 插件管理:可进行插件的加载、初始化、反初始化和卸载,支持运行时动态增删插件。
  2. 接口分离:实现插件接口与用户功能接口的分离,保证调用方与插件通过接口通讯。
  3. 唯一标识:每个插件由唯一的ID(file key)标识,需实现符合插件规范的接口。
  4. 配置管理:通过配置文件统一管理插件,配置文件包含FileKey、延迟加载等参数。
  5. 功能调用:插件管理器可根据文件ID初始化插件,根据接口ID获取插件函数接口并调用。

安装使用步骤

假设用户已经下载了本项目的源码文件,可按以下步骤进行安装和使用: 1. 复制仓库 shell git clone https://gitee.com/QWorkShop/gplug.git 2. 生成构建文件 进入项目目录,此步骤会复制第三方库。 cmake cd EVHttpServer cmake -B build -S . -DCMAKE_INSTALL_PREFIX=/path/to/install -DCMAKE_BUILD_TYPE=Release 3. 编译源代码 此步骤将编译第三方库、gplug库、示例和测试。 cmake cmake --build build 4. 安装到系统 cmake cmake --install build 安装完成后,在代码中包含头文件,编译时链接gplug库即可使用。

开发步骤

开发插件的流程如下: 1. 定义插件功能接口 2. 实现插件功能接口 3. 导出插件统一接口 4. 创建配置文件 5. 使用PlugMgr接口调用Plugin函数接口

具体示例可查看 此处

示例

更多示例请查看 这里

注意事项

插件管理器目前无法解决不同插件的依赖库的版本冲突问题。

下载地址

点击下载 【提取码: 4003】【解压密码: www.makuang.net】