Linux中共享库的制作和使用
2021/11/19 7:10:27
本文主要是介绍Linux中共享库的制作和使用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
共享库的制作
1.命名规则
lib + 名字 + .so
2.制作步骤
1)生成与位置无关的代码(生成与位置无关的.o,那么静态库是生成与位置有关的.o文件,因为制作静态库时,是将.o文件打包到静态库中,在虚拟内存中位置是固定的;而动态库只有在程序运行时,才会把动态库中的程序加载到虚拟内存的共享库区域中,而此位置是不固定的;
2)将.o打包成共享库(动态库)
3)发布和使用共享库
4)解决程序执行时动态库无法被加载的问题
a.放到系统的库目录中(/lib) —— 不允许使用
b.临时测试
环境变量:LD_LIBRARY_PATH=将动态库中的路径设置给该变量
将设置的值,导入到系统环境变量中:export LD_LIBRARY_PATH
当终端关闭,设置会失效
c.不常用的方法(永久设置)
在家目录的.bashrc文件中添加一句话:export LD_LIBRARY_PATH=动态库目录的绝对路径
.bashrc修改完成,需要重启终端
d. 找到动态连接器的配置文件 —— /etc/ld.so.conf
动态库的路径写到配置文件中 —— 绝对路径
更新 —— sudo ldconfig -v
3.动态库的优缺点
优点:执行程序体积小;
动态库更新了,不需要重新编译程序(函数接口不变)
缺点:发布程序时,需要将动态库提供给用户;
动态库没有被打包到应用程序中,加载速度相对较慢;
这篇关于Linux中共享库的制作和使用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-12如何创建可引导的 ESXi USB 安装介质 (macOS, Linux, Windows)
- 2024-11-08linux的 vi编辑器中搜索关键字有哪些常用的命令和技巧?-icode9专业技术文章分享
- 2024-11-08在 Linux 的 vi 或 vim 编辑器中什么命令可以直接跳到文件的结尾?-icode9专业技术文章分享
- 2024-10-22原生鸿蒙操作系统HarmonyOS NEXT(HarmonyOS 5)正式发布
- 2024-10-18操作系统入门教程:新手必看的基本操作指南
- 2024-10-18初学者必看:操作系统入门全攻略
- 2024-10-17操作系统入门教程:轻松掌握操作系统基础知识
- 2024-09-11Linux部署Scrapy学习:入门级指南
- 2024-09-11Linux部署Scrapy:入门级指南
- 2024-08-21【Linux】分区向左扩容的方法