c语言程序链接过程,C语言简明教程(二):C程序编译链接过程和实例对照详解...

不像高级编程语言,在C语言开发中,了解其编译链接过程显得相对重要,因为C语言是较为底层的语言,很多时候我们调试C程序或者解决其它问题都可能会涉及到C编译链接的相关知识,例如编译动态库或者静态库。下面我们一起来了解一下C程序的编译链接过程,结合一些实例更好了解其中的原理,这里使用的编辑器是linux的vim,编译器使用GCC。

C程序编译的起始点为源代码(hello.c),结果为可执行的字节码文件,C程序的整体编译链接过程如下图所示:

735d9b2c8a43407805ab3ff4e80e5b02.png

在整个过程中,最重要的两个环节为编译阶段和链接阶段,编译由编译器完成,链接由链接器完成,编译器的最主要功能是将C源代码编译成中间代码即目标代码,链接器的功能是将目标代码和库文件代码链接成可执行代码,即可执行程序。链接器涉及的结构不会太复杂,一般会由编译器自动调用,我们使用编译器编译源代码的时候,编译器会自动调用链接器完成代码生成。C程序详细编译链接过程如下:

f7bb67584dea3f2333eff941110e9721.png

下面我们就预处理、编译、汇编、链接进行详细解释,并且结合操作实例进行理解。

一、预处理(Preprocess)

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值