栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Linux基础 | 静态库与共享库

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Linux基础 | 静态库与共享库

文章目录
  • 一、库文件是什么?
  • 二、共享库与静态库的区别
  • 三、共享库与静态库的创建方法
    • 1.静态库的生成方法
    • 2.共享库的生成方法
  • 三、共享库与静态库的使用实例
  • 总结


一、库文件是什么?

库是预先编译好的方法的集合。

二、共享库与静态库的区别

Linux上静态库一般以.a结尾。
动态库一般以.so结尾

三、共享库与静态库的创建方法 1.静态库的生成方法

2.共享库的生成方法

三、共享库与静态库的使用实例

静态库

共享库

需要注意的是此时main函数并不能运行成功,因为只是在main程序中标记了共享库中的方法,当main函数执行时需要去/lib或者/usr/lib文件中去寻找所使用的库,找到才可以执行此函数。因此此时需要把foo库放入到/usr/lib的文件夹下面。

ldd命令可以查看函数使用了哪个库文件。

总结

静态库与共享库的优缺点:
静态库在函数编译的时候就会把使用到的方法放入该函数中,完成编译后,在静态库不存在的情况下也可以运行,但是会消耗一定的空间,共享库则是在运行时去寻找所使用的方法,会节省程序所占空间,但是当共享库不存在时,改函数就无法执行。同时,在共享库和静态库名字相同时有限选择使用共享库。
共享库方便维护,当库文件发生变化时只需要要对库进行重编译,不需要对程序进行编译;而使用静态库需要将程序也重新编译一边。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/914048.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号