Linux库之静态库与动态库
为什么引入库 分文件编程
如果我们在开发大型项目的时候,一个项目就只有一个主函数文件。这显然是不合理的,也不便于我们后面对项目的升级,以及功能的责任划分。
分文件编程,可
文章目录 为什么引入库 分文件编程 如果我们在开发大型项目的时候,一个项目就只有一个主函数文件。这显然是不合理的,也不便于我们后面对项目的升级,以及功能的责任划分。 分文件编程,可以使项目更加的模块化,便于升级以及维护。编译好的代码和数据也可以在事后供其他的程序使用。 分文件编程的好处 a,功能责任的划分 b,方便调试 c,主程序简洁 库又分为:静态库,动态库,共享库 一、静态库 静态函数库:是在程序执行之前就加载到程序之中也就是在编译阶段就加入 好处:运行速度快;发布程序无需提供静态库,已经在程序中,移植方便 缺点:链接时完整的拷贝到可执行程序中,被使用多少次就有多份冗余拷贝。 更新部署发布麻烦。(程序太大) 二、动态库 动态加载函数库:是在程序执行时动态(临时)由目标程序去调用 好处:程序小而简洁 缺点:运行速度慢;更新部署比较麻烦 静态库的生成与使用 静态库的制作 1.gcc xxx.c -c 生成xxx.o文件 2.ar rcs libxxx.a xxx.o 将xxx.o文件生成libxxx.a 静态库的使用 首先要想清楚linux动态库,被谁用? 肯定是主函数拿来用 gcc 主函数.c -lxxx -L ./ 动态库的生成与使用(常用) 动态库的生成 动态库的使用 在执行程序时,需要将生成的.so文件放在/usr/lib下编译才不会出错 引用动态库,如何指定动态库的位置 export LD_LIBRARY_PATH=“.so的文件位置(pwd可以查看)” 查看静态/动态库文件的大小 du xxx (编辑:晋中站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |