[4]Linux静态库与动态库
2017-01-26 11:53
155 查看
[1]Linux静态库与动态库简介
Linux应用程序使用的主要函数库均存放于/lib, /usr/lib目录下,其中采用.so.方式命名的是动态函数库,而以*.a方式命令的是静态函数库。程序所要用到的库函数代码在链接时全部被copy到程序中。
导致的问题:如果有多个进程在内存中同时运行,并且使用了相同的库函数,那么就会有多份拷贝,这就是对空间的浪费。
[2]制作静态库
1. gcc –c mylib.c –o mylib.o 2. ar cqs libmylib.a mylib.o 3. 将制作好的libmylib.a 复制到/usr/lib
[3]静态库的使用
-lname:GCC在链接时,默认只会链接C函数库,而对于其他的函数库,则需要使用-l选项来显示地指明需要链接。 例:gcc test.c –lmylib -o test
[4]制作动态库
1. gcc –c mylib.c –o mylib.o 2. gcc -shared -fPIC mylib.o -o libmylib.so 3. 将制作好的libmylib.so 复制到/usr/lib
-fpic 使输出的对象模块是按照可重定位地址方式生成 的。 -shared 指明产生动态链接库。
[4]动态库的使用
例:gcc test.c –lmylib -o test
[5]评论
静态库和动态库在发布时候还应该提供相应的头文件(.h)方便调用。在系统移植时需要为嵌入式系统添加静态库和动态库(如glibc和Ulibc)。
进行交叉编译时也应该考虑链接库的问题。
来自国嵌【2014】应用程序开发
相关文章推荐
- 在Linux中创建静态库和动态库
- linux下c/c++编译器和调试器以及静态库、动态库使用汇总
- 在Linux中创建静态库和动态库
- 关于Linux静态库和动态库的分析
- 关于Linux静态库和动态库的分析
- Linux动态库和静态库比较
- linux下动态库与静态库
- Linux中静态库和动态库的创建和使用
- Static library & dynamic library -- linux系统下的静态库与动态库
- [Linux]链接,静态库和动态库
- 在Linux中创建静态库和动态库
- Linux中有两类函数库 分别是静态库和动态库
- 关于Linux静态库和动态库的分析
- linux下制作静态库和动态库的方法
- 在Linux中创建静态库和动态库
- linux下的静态库和动态库的编译
- Linux中的静态库和动态库
- Linux静态库和动态库的分析
- linux下静态库、动态库的编译和使用
- linux下静态库、动态库相关问题总结