关于QPluginLoader的加载和卸载
来源:互联网 发布:琪琪影院软件下载 编辑:程序博客网 时间:2024/06/08 01:59
我们知道Qt的插件系统中通过QPluginLoader类来动态加载插件库,但对于具体的动态加载和卸载机制不是很清楚,因此花了点时间详细研究了QPluginLoader的源码,对于QPluginLoader类有些新的认识,记录如下,供参考。
1. QPluginLoader在后台是通过QLibraryPrivate类完成加载库操作的,这与QLibrary类是一样的;
2. 多个QPluginLoader的实例如果加载同一个插件库,那么其后台的库是同一个,也就是说多个QPluginLoader的实例并不会导致同一个动态库被多次加载;
3. 在QPluginLoader对象被析构时,其加载的动态库也不会被卸载;
4. QPluginLoader的load函数会在执行instance时自动执行,一般不需要直接执行;(参考文档中有提到)
5. 卸载插件需要调用unload函数执行,但如果有多个实例加载(load)了同一个插件库,那么只有在最后一个实例执行unload后才能将动态库卸载,前几个实例的unload方法都会返回false,动态库也不会被卸载。
0 0
- 关于QPluginLoader的加载和卸载
- 关于QPluginLoader的加载和卸载
- 关于JavaScript的加载和卸载事件
- Qt 使用QPluginLoader 加载外部dll的方法笔记
- Qt 使用QPluginLoader 加载外部dll的方法笔记
- Qt 使用QPluginLoader 加载外部dll的方法笔记
- QLibrary&QPluginLoader 和plugin
- QPluginLoader加载动态链接库
- 关于盘符的加载与卸载
- 关于AssetBundle的加载与卸载
- 内核模块的加载和卸载
- UIViewController的创建、加载和卸载
- Java类加载和卸载的跟踪
- .ko模块的加载和卸载
- 模块加载和卸载
- 关于动态加载/卸载驱动
- 关于VS2008的破解和卸载问题
- 关于sdcard卸载和装载的广播
- 超链接a的属性title
- 二叉排序树
- 【深入浅出ios开发】使用代理进行传值
- kruskal算法
- XSS跨站脚本攻击(一)
- 关于QPluginLoader的加载和卸载
- 向量空间模型——计算文本(英文)相似度
- leetcode: Interleaving String
- iOS图像拉伸,stretchableImageWithLeftCapWidth:topCapHeight:
- [游戏]传染病CONTAGION
- Leetcode:3Sum Closest
- MyBatis3整合Spring3的Transaction事务处理
- poj3468 树状数组解法(树状数组维护区间更新)
- 【知乎】2014年放弃阿里巴巴 offer 的人为什么格外多?