QLibrary加载so的注意事项
2016-04-13 13:24
211 查看
加载库时,QLibrary搜索在所有特别的系统库路径,除非文件名有一个绝对路径。
这句话说明了QLibrary的load()路径问题,倘若系统库已经存在这个运行库名称,那只会加载系统上面的那一个,所以要加载存在的运行库文件,就需要做两件事,一是运行库重命名,二是load配置的是绝对路径。在android的自动更新中,要求只更新so文件,这时候需要用到。代码举例:
QDir
dir("./lib/libTestb.so");
QString path = dir.absolutePath();
QLibrary *m_li = NULL;
m_li = new QLibrary(path);
m_li->load();
typedef int(*Test)(int a, int b);
Test t = (Test)m_li->resolve("test");
int m1;
if(t){
m1 = t(11,22);
}
相关文章推荐
- android数据库sqlite基本操作。
- 可变参数列表
- 第七周项目(1)-普通函数求两点间距离
- Eclipse 下maven 笔记
- ubuntu系统的grub配置
- STL中二分查找 lower_bound()
- 关于java中文件下载中文乱码的事
- MyBatis异常 Error setting driver on UnpooledDataSource. Cause: java.lang.ClassNotFoundException:
- Hibernate 之 cascade 和 inverse
- Spark如何使用Akka实现进程、节点通信的简明介绍
- Podfile升级后的影响
- Best Time to Buy and Sell Stock
- Split函数,正则表达式与空字符串
- JSP大学实用教程(第2版)代码一
- 接受前台数据
- EXT.NET MVC 5 工作随笔02 传参时如果参数在当前页面获取不到时,用?解决
- C++第3次上机作业
- 规则引擎笔记
- Android 如何动态设置View参数,LayoutParams.addRules详解,TypedValue.applyDimension的使用
- BX9054: 各浏览器对 document.execCommand 方法的首参数可选值范围存在差异