Unix系统下C编程.pptVIP

  • 8
  • 0
  • 约7.51千字
  • 约 44页
  • 2017-02-17 发布于北京
  • 举报
共享库的使用 共享库要使用头文件dlfcn.h和几个相关的函数: dlerror dlopen dlsym dlclose。 1. dlopen 功能: 用于打开指定共享库,并返回文件描述符。 原型及用法: void *dlopen(const char *filename, int flag); 返回值: 成功时返回文件描述符,否则返回NULL。 dlopen函数的相关说明 变量filename为共享库名。若文件名不以/开头,则为非绝对路径名,将按以下顺序搜索库文件:(1)环境变量中的LD_LIBRARY_PATH值指定的路径;(2)动态链接缓冲文件/etc/ld.so.cache;(3)库文件默认目录/lib,/usr/lib。 变量flag用来表示在什么时候解决未定义的符号,其取值范围与意义如下: (1)RTLD_LAZY:指定在动态链接库的函数执行时解决; (2)RTLD_NOW:指定在dlopen返回前就解决所有未定义的符号问题。一旦有未解决好未定义的符号,dlopen将返回NULL表示错误。 注意:RTLD_LAZY和RTLD_NOW可以与RTLD_GLOBAL配合使用,使得那些在以后才加载的库可以获得其中的符号。 2. dlsym 功能:返回共享中指定函数的入口地址 原型及用法: void *dlsym(void *handle, char *symbol

文档评论(0)

1亿VIP精品文档

相关文档