Linux下源程序的编译过程

1.源程序的编译过程
<1>预处理过程
   将源程序中的宏定义代码,头文件包含代码,替换成真实的实际代码
   根据具体的宏定义,根据源程序中的条件编译代码,过滤掉多余的代码
   处理源程序中的特殊符号,将特殊符号替换成合适的值
<2>编译过程
   根据不同的源文件,采用不同的词法分析和语法分析方式,在确认所有的指令都符合语法规则之后,将其翻译成等价的汇编代码。
<3>汇编过程
   是将汇编代码转换成机器指令的过程,经历这个过程后,源程序文件变成了目标文件,目标文件中所存放的就是和源程序等效的机器指令。
<4>链接接过程
   对目标文件进行重定向,例如目标文件A需要使用目标文件B中的方法,就需要将文件A调用文件B的方法的地方和B文件对应的方法对应起来,在经历这样一个过程后,所有的目标文件就被链接成统一的目标文件集合。
   在链接共享代码库的时候,根据链接库的方式的不同来处理不同的共享代码库。(动态链接库和静态链接库)
   创建共享代码库的过程,就是将目标文件进行链接形成新的目标文件的过程,我们需要将共享代码库的创建和使用区别开来。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值