插件管理器实现原理:
1. 加载dll
插件管理器加载dll -----------》 dll包含有若干类 ,每个类实现一个统一结构Create()函数,该函数返回该类的一个实例 -----》每个dll有一个
统一的入口初始化函数Init(),该函数将该dll中的类名与类中的Create()函数地址组合成映射表Map注册到插件管理器中
2. 实现公有接口
所有插件中要导出类都要继承该接口,以便通过该接口调用对应类的方法(visual 函数)
3. 通过类名实例对象
插件管理器通过类名查找Map,找到对应该类的Create()函数地址 ------》 调用该函数返回类的实例对象地址,如:Interface *It = (Interface *)( Create())
-------》通过it接口即可调用类中的方法