Chinaunix首页 | 论坛 | 博客
  • 博客访问: 34660
  • 博文数量: 21
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 205
  • 用 户 组: 普通用户
  • 注册时间: 2017-01-22 19:18
文章分类
文章存档

2017年(21)

我的朋友

分类: 嵌入式

2017-02-06 14:50:56

1.    静态库

后缀为*.a生成的执行文件可以独立于.a文件运行,调用的库函数已经被编译到可执行文件中。

2.       动态库

(1)       后缀为*.so,未被编译到可执行文件中,依赖于库文件才能执行。多个线程可以共享动态链接库代码。

(2)       可通过gcc -shared -fPIC xxx.c -o libxxx.so生成。

(3)       Linux提供了一套API来动态装载库。下面列出了这些API

- dlopen
,打开一个库,并为使用该库做些准备。
- dlsym
,在打开的库中查找特定符号的对于的地址。
- dlclose
,关闭库。
- dlerror
,返回一个描述最后一次调用dlopendlsym,或dlclose的错误信息的字符串。

C
语言用户需要包含头文件dlfcn.h才能使用上述API。 

(4)       动态库使用举例(参考http://www.cnblogs.com/Anker/p/3527677.html

 
阅读(238) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:用五视图进行概要设计

给主人留下些什么吧!~~