linux下编程学习--- 静态库和动态库的编译

 

学习linux下c很长一段对动态库和静态库的编译和使用总是透着雾水,今天看了一本书《Linux程序设计第2版》,总算弄清楚了,所谓库文件是预先编译好的函数集合,函数库一般分为静态和共享两种格式。

静态库:静态库也叫档案(archive),他们的名字都按管理 *.a 命名,其实说白了,所谓的静态库也就是被归档的
          二进制目标代码文件,当要使用时,就用include 来包含该库的头文件即可,当然如果不是标准库,要指名路径,用”-l“ 指名,自己建立静态库,用归档命令”ar“ 即可,例如”ar crv  test.a  test1.o test2.o“

动态库:动态库也叫共享库,系统存放的位置和静态库是一个地方,不通的是后缀名不一样,以”.so“结尾,
               如果一个程序使用动态库,则该程序本身不包含调用的函数代码,只包含调用的线索,只是在程序需要调
              用时才去调用动态库。这也就是所谓”动态“的含义吧。
  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值