源文件从文本文件到可执行文件的过程

对于c++源文件,从文本到可执行文件一般需要四个过程:

预处理阶段:
对源代码文件中文件包含关系(头文件)、预编译语句(宏定义)进行分析和替换,生成预编译文件。

编译阶段:
这个阶段编译器主要做词法分析、语法分析、语义分析等,在检查无错误后后,把代码翻译成汇编语言。

汇编阶段:
将编译阶段生成的汇编文件转化成机器码,生成可重定位目标文件。

链接阶段:
将多个目标文件及所需要的库链接成最终的可执行目标文件。

command:
以a.c->a.out为例:
分步编译:
预处理:gcc -E a.c -o a.i。生成.i文件。
编译:gcc -S a.i -o a.s。生成.s文件。
汇编:gcc -c a.s -o a.o。生成.o文件。
连接:gcc a.o -o a.out。生成可执行程序a.out。

一步编译:
1.gcc a.c (默认生成名字为a.out的可执行文件,并不是我的名字是a.c才生成a.out而是所有的.c文件都会生成a.out)
2.gcc a.c -o a (这样是指定他的名字,生成一个名字为a的可执行文件)

考点
四个过程,以及每个过程的行为。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值