- 17
- 0
- 约4.58万字
- 约 9页
- 2016-10-11 发布于贵州
- 举报
Linux下Gc生成和使用静态库和动态库详解
Linux下Gcc生成和使用静态库和动态库详解
一、基本概念
1.1什么是库
在windows平台和linux平台下都大量存在着库。
本质上来说库是一种可执行代码的二进制形式,可以被操作系统载入内存执行。
由于windows和linux的平台不同(主要是编译器、汇编器和连接器的不同),因此二者库的二进制是不兼容的。
本文仅限于介绍linux下的库。
?
?
1.2库的种类
linux下的库有两种:静态库和共享库(动态库)。
二者的不同点在于代码被载入的时刻不同。
静态库的代码在编译过程中已经被载入可执行程序,因此体积较大。
共享库的代码是在可执行程序运行时才载入内存的,在编译过程中仅简单的引用,因此代码体积较小。
?
?
1.3库存在的意义
库是别人写好的现有的,成熟的,可以复用的代码,你可以使用但要记得遵守许可协议。
现实中每个程序都要依赖很多基础的底层库,不可能每个人的代码都从零开始,因此库的存在意义非同寻常。
共享库的好处是,不同的应用程序如果调用相同的库,那么在内存里只需要有一份该共享库的实例。
?
?
1.4库文件是如何产生的在linux下
静态库的后缀是.a,它的产生分两步
Step 1.由源文件编译生成一堆.o,每个.o里都包含这个编译单元的符号表
Step 2.ar命令将很多.o转换成.a,成为静态库
动态库的后缀是.so,它由gcc加特定参数编译产生。
具体方法参
您可能关注的文档
最近下载
- 杰斐逊共情量表(护生版)的编译及信效度检验.pdf VIP
- 新疆生产建设兵团兴新职业技术学院2026 年高职(专科)综合评价招生《素质测试》面试模拟试题及参考答案.docx VIP
- 新型纺丝甬道技术在氨纶生产中的应用.docx VIP
- 2026年重庆市公务员《行测》考试真题_含答案版.pdf
- 2026年内蒙古公务员《行测》考试真题_含答案版.docx
- 高效蜂窝整流的大型氨纶纺丝甬道.pdf VIP
- 2026年四川省公务员《行测》考试真题_含答案版.pdf
- 第七章 万有引力与宇宙航行测试卷.docx VIP
- 2026年新疆公务员《行测》考试真题_含答案版.pdf
- 2026年云南省公务员《行测》考试真题_含答案版.pdf
原创力文档

文档评论(0)