dlopen中几个flag的区别:RTLD_LAZY RTLD_NOW RTLD_GLOBAL
2013-07-30 11:23
1521 查看
void *dlopen(const char *filename, int flag);
其中flag有:RTLD_LAZY RTLD_NOW RTLD_GLOBAL,其含义分别为:
RTLD_LAZY:在dlopen返回前,对于动态库中存在的未定义的变量(如外部变量extern,也可以是函数)不执行解析,就是不解析这个变量的地址。
RTLD_NOW:与上面不同,他需要在dlopen返回前,解析出每个未定义变量的地址,如果解析不出来,在dlopen会返回NULL,错误为:
: undefined symbol: xxxx.......
RTLD_GLOBAL:它的含义是使得库中的解析的定义变量在随后的其它的链接库中变得可以使用。
其中flag有:RTLD_LAZY RTLD_NOW RTLD_GLOBAL,其含义分别为:
RTLD_LAZY:在dlopen返回前,对于动态库中存在的未定义的变量(如外部变量extern,也可以是函数)不执行解析,就是不解析这个变量的地址。
RTLD_NOW:与上面不同,他需要在dlopen返回前,解析出每个未定义变量的地址,如果解析不出来,在dlopen会返回NULL,错误为:
: undefined symbol: xxxx.......
RTLD_GLOBAL:它的含义是使得库中的解析的定义变量在随后的其它的链接库中变得可以使用。
相关文章推荐
- dlopen中几个flag的区别:RTLD_LAZY RTLD_NOW RTLD_GLOBAL
- dlopen中几个flag的区别:RTLD_LAZY RTLD_NOW RTLD_GLOBAL
- dlopen中几个flag的区别:RTLD_LAZY RTLD_NOW RTLD_GLOBAL
- dlopen第二个参数flag的不同含义:RTLD_LAZY RTLD_NOW RTLD_GLOBAL RTLD_LOCAL RTLD_NODELETE RTLD_NOLOAD RTLD_DEEPBIND
- dlopen RTLD_NOW RTLD_LAZY RTLD_GLOBAL
- dlopen中几个flag的区别
- dlopen中几个flag的区别
- 重写、覆盖、重载、多态几个概念的区别分析
- [PHP]全局变量:global与$GLOBALS的区别和使用
- 用Java连接sqlserver数据库时候几个jar包的区别
- ABAP中内表的几个常用的清空内表语句,及它们之间的区别
- 重写、覆盖、重载、多态几个概念的区别分析(转)
- MySql与Oracle的几个主要区别
- linux环境变量相关的几个文件之区别
- Local and Global References区别
- lazy=false和lazy=true的区别
- 重写、覆盖、重载、多态几个概念的区别分析
- 关于java线程中几个函数区别:stop()/suspend(),sleep()/wait()
- android 播放视频时 有流畅 、高清、超清等几个类型,在播放参数设置里面 区别在哪里?
- 安卓蓝牙开发的几个版本区别