项目简介
gplug(通用插件管理库)是一款用于实现应用程序中插件统一管理的库。它能够对插件进行加载、初始化、取消初始化以及卸载操作,并且支持在运行时动态添加和删除插件。该库的核心设计是将插件接口与用户功能接口分离,插件管理器通过插件规范接口获取插件功能接口,从而实现与插件的直接交互。
项目的主要特性和功能
- 插件管理:可进行插件的加载、初始化、反初始化和卸载,支持运行时动态增删插件。
- 接口分离:实现插件接口与用户功能接口的分离,保证调用方与插件通过接口通讯。
- 唯一标识:每个插件由唯一的ID(file key)标识,需实现符合插件规范的接口。
- 配置管理:通过配置文件统一管理插件,配置文件包含FileKey、延迟加载等参数。
- 功能调用:插件管理器可根据文件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】