以Linux系统上的gcc为例,解密C语言编译背后的全过程!

本文详细介绍了C语言在Linux系统上使用gcc编译的四个步骤:预处理、编译、汇编和连接。通过示例展示每个阶段生成的中间文件及其功能,帮助读者理解编译原理。
摘要由CSDN通过智能技术生成

在这个互联网时代,很多人都选择了计算机专业,而只要是计算机专业的小伙伴,可能都会学C语言,但是大家是否都清楚C语言编译的完整过程呢,今天我就带着大家一起来做个解密吧。

C语言相对于汇编语言是一种高级语言,要想在系统上运行,需要通过编译器把它转换成机器能够读懂的可执行的代码。

以Linux系统上的gcc为例,通常我们编译一个源文件都是用下面的命令:

$gcc hello.c –o hello

编译成功后,目录里会生成hello这个程序,直接运行它可以看到结果。

$./hello

Hello World!

但hello这个程序是怎么生成的呢,其实中间还是有好几步的。用下面这个命令重新编译一下,你可以看到所有的中间文件。

$gcc -save-temps hello.c –o hello

$ls

hello hello.c hello.i hello.o hello.s

 

C编译器的编译过程主要分成四步:

    (1) 预处理

    (2) 编译

    (3) 汇编

    (4) 连接

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值