库文件

Linux下面的库文件

  • 函数库,一组预先编译好的函数集合,这些函数按照可重写的原则编写。库函数通常由一组相互关联的函数组成,以自信某项常见的任务,比如MQTT处理函数库(paho库)和数据库访问库(dbm)。一般系统标准库文件存储在 /lib 和 /usr/lib 目录下面。
  • 库函数最简单的形式是一组处于“准备好使用”状态的目标文件。当程序需要使用函数库中的某个函数时,它包含一个声明该函数的头文件。编译器赫尔链接器负责将程序代码和库函数组合在一起以组成一个单独的可执行文件。
  • 库文件的名字总是以 lib 开头,随后的部分用以指明库的类型,例如:libc 代表C原因库,libm 代表数学库。文件名的最后以 “ . ” 开始,然后分成两种类型,一个是传统的静态库,一个是共享函数库
  1.    	.a ,传统的静态库
    
  2. 	.so , 共享库
    
  • 两种库的区别
  1. 静态库在程序的连接阶段被复制到程序中,与程序打包一同发布,在程序运行时堆库没有依赖性。静态库的使用有一个缺点:当同时运行太多个程序,并且它们都使用来自同一个库函数的函数时,内存中就会有用一个函数的多个副本,这占用了大量宝贵的内存和磁盘空间。
    2.共享库的连接方式是这样的:程序本身不在包括函数的代码,而是运行时可访问的共享代码。当编译好的程序被装载到内存中执行时,函数引用被解析并产生对共享库的调用,如果有必要,共享库才被加载到内存中。通过这种方法,系统可以值保留共享库的一份副本供许多应用程序同时使用,并且在磁盘中也仅保存一份。共享库的另一个好处是:共享库的更新可以独立于依赖它的应用程序。共享库的缺点是:程序对库有依赖。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值