Linux 动态库和静态库
文章目录
- Linux 动态库和静态库
- 什么是动态库和静态库
- 动态库和静态库有什么不同
- 动态库
- 静态库
- 生成自己的静态库
- 生成自己的动态库
什么是动态库和静态库 我们在写代码的时候 , 会调用很多的库函数 , 像printf scanf 等函数 , 但是我们的代码中并没有这些函数的实现 , 这些函数是语言提供的函数 , 这些函数就存放到对应的库中 , 而这些库就叫做动态库和静态库 。
动态库和静态库有什么不同 动态库 动态库在程序运行的时候 , 运行到了库函数的函数入口 , 而我们没有函数的实现 , 这时程序就会到对应的动态库里去链接动态库里这个函数的实现代码 , 把库中的代码拿到虚拟地址空间中的共享区 , 执行代码 。
- 动态库(.a):程序在运行的时候才去链接动态库的代码 , 多个程序共享使用库的代码 。
- 静态库(.so):程序在编译链接的时候把库的代码链接到可执行文件中 。程序运行的时候将不再需要静态库
优点:不需要把库函数的代码编译进我们的可执行程序 , 可执行程序的体积小 , 多份代码可以共用一个库 , 节省了空间 。如果库函数更新 , 在进行升级的时候不需要重新编译程序 , 直接升级库即可 。
【【Linux】动态库和静态库】缺点:对库的依赖性强 , 如果没有动态库 , 那么这个用了动态库的可执行程序将无法运行 。
- 春季老年人吃什么养肝?土豆、米饭换着吃
- 三八妇女节节日祝福分享 三八妇女节节日语录
- 老人谨慎!选好你的“第三只脚”
- 校方进行了深刻的反思 青岛一大学生坠亡校方整改校规
- 脸皮厚的人长寿!有这特征的老人最长寿
- 长寿秘诀:记住这10大妙招 100%增寿
- 春季老年人心血管病高发 3条保命要诀
- 眼睛花不花要看四十八 老年人怎样延缓老花眼
- 香槟然能防治老年痴呆症? 一天三杯它人到90不痴呆
- 老人手抖的原因 为什么老人手会抖
