linux c/c++ 动态库和静态库的生成与使用

一.写在前面    
     本文仅仅是总结了,静态库,动态库的使用及基本编译方法。至于库本身的格式,内存地址等较底层问题,则等有时间放到操作系统一类的文章中研究。下面开始正题吧。

二.介绍
     从源代码到可执行程序,通常要经过最重要的两大步是:编译,链接。编译就是将源文件生成中间文件的过程,在linux下就是生成   .obj  文件。链接就是用链接器将,这些个中间文件有序地”糅合“在一起,构成一个可执行文件。通常,一个.c文件或者.cpp源文件编译后,就会对应生成一个.obj文件。     
     那么库文件是什么东西呢?其实库文件就是将这些中间文件.obj进行打包生成的文件。那么为什么要将这些obj文件打包成库文件呢?一个很重要的原因是,方便代码复用。通常,我们都会有自己写的一些公用的函数,一般是一些工具类的函数。然后再不同的项目中,经常会引用到这些公用的函数。显而易见的做法是,将公用函数的.h文件和.cpp文件分别丢到某个项目的.h文件目录或.cpp文件目录中,编译的时候也跟对待其他的源文件一样调用g++或者gcc进行编译。如果是引用的第三方文件不多还好,要是使用到了一些大型的第三方库比如zlib,openssl等,那么编译这些库都得花很长的时间。
     那么
  • 4
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值