[4]Linux静态库与动态库
来源:互联网 发布:讯龙恢复软件下载 编辑:程序博客网 时间:2024/06/01 20:17
[1]Linux静态库与动态库简介
- Linux应用程序使用的主要函数库均存放于/lib, /usr/lib目录下,其中采用.so.方式命名的是动态函数库,而以*.a方式命令的是静态函数库。
- 程序所要用到的库函数代码在链接时全部被copy到程序中。
- 导致的问题:如果有多个进程在内存中同时运行,并且使用了相同的库函数,那么就会有多份拷贝,这就是对空间的浪费。
[2]制作静态库
1. gcc –c mylib.c –o mylib.o2. ar cqs libmylib.a mylib.o3. 将制作好的libmylib.a 复制到/usr/lib
[3]静态库的使用
-lname:GCC在链接时,默认只会链接C函数库,而对于其他的函数库,则需要使用-l选项来显示地指明需要链接。例:gcc test.c –lmylib -o test
[4]制作动态库
1. gcc –c mylib.c –o mylib.o2. gcc -shared -fPIC mylib.o -o libmylib.so3. 将制作好的libmylib.so 复制到/usr/lib
-fpic 使输出的对象模块是按照可重定位地址方式生成的。-shared 指明产生动态链接库。
[4]动态库的使用
例:gcc test.c –lmylib -o test
[5]评论
静态库和动态库在发布时候还应该提供相应的头文件(.h)方便调用。
在系统移植时需要为嵌入式系统添加静态库和动态库(如glibc和Ulibc)。
进行交叉编译时也应该考虑链接库的问题。
来自国嵌【2014】应用程序开发
0 0
- [4]Linux静态库与动态库
- linux 静态库与动态库
- linux下动态库与静态库
- linux中的静态库与动态库
- Linux动态库与静态库
- Linux静态库与动态库制作
- linux 动态库与静态库
- Linux下动态库与静态库
- Linux下动态库与静态库
- linux静态库与动态库制作
- Linux 动态库与静态库
- 动态库与静态库【linux】
- Linux下静态库与动态库
- Linux中的动态库与静态库
- linux 动态库与静态库
- linux动态库与静态库
- Linux静态库与动态库
- linux静态库与动态库
- 微信开发四之获取图书馆查询
- python 6-2 如何读写json数据
- Shark源码分析(九):朴素贝叶斯算法
- 白白 2016
- Shark源码分析(十):KNN算法
- [4]Linux静态库与动态库
- Java Applet
- Unity3D 之 FX Maker
- Shark源码分析(十一):随机森林算法
- Leetcode 28. Implement strStr()
- LeetCode_485. Max Consecutive Ones
- Shark源码分析(十二):线性SVM
- java线程(线程同步)
- Error:(xx) Error: "xxxxxxx" is not translated in "en" (English)[MissingTranslation]