Chinaunix首页 | 论坛 | 博客
  • 博客访问: 192820
  • 博文数量: 75
  • 博客积分: 2136
  • 博客等级: 大尉
  • 技术积分: 712
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-03 09:38
文章分类

全部博文(75)

文章存档

2011年(6)

2010年(17)

2009年(52)

我的朋友

分类: LINUX

2011-03-23 15:16:04

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:它的含义是使得库中的解析的定义变量在随后的随后其它的链接库中变得可以使用。

阅读(795) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~