C++插件接口开发

 

如何开发一个高效可用的多插件运行程序?插件接口是关键。

设计一个高效可用的插件接口,会让程序节省很多资源和时间。

设计插件接口是一件容易的事,但设计一个高效的插件就不是一件容易的事。现在学习一下本公司老大的设计插件的方式以及思路。

插件一般来说要么是动态库要么是静态库,那么多个同级插件可以使用统一接口来进行实现。打开动态库的方式一种是静态链接一种动态打开。

一般来说静态链接就是在编译的时候把所有的动态库用'-L'全部链接编译进去,这是一个死方法,意思说我只能加载一定的模块,想要再加那么就得从新编译一下程序。这种方式一般在代码动态开发中是不可取的(这种情况在动态库固定且很少的情况下使用)。

如果要开发可配置且能动态的加载程序所需要的插件,那么Windows就是用

HINSTANCE hDllInst = LoadLibrary("youApp.DLL");
MYFUNC youFuntionNameAlias = NULL; // youFuntionNameAlias 函数别名
youFuntionNameAlias = (MYFUNC)GetProcAddress(hDllInst,"youFuntionName");

方式在程序中打开就可以了。

Linux用

void *dlopen(const char * filename, int flag);//打开动态库
void *dlsym(void *handle, char*symbol);//获取功能函数
const char *dlerror();
int dlclose(void *handle)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值