【gcc编译代码过程】

第一步:预处理

解释:就是将源文件中包含的头文件(例如#include<stdio.h>)找到,并且将头文件的内容全部拷贝过来;

预处理步骤代码:gcc -E xxx.c -o xxx.i
-E :对xxx.c做预处理,不做后续的编译过程;
-o:指定处理结果保存到哪个文件中去;
示例:gcc -E helloword.c -o helloword.i

第二步:编译

解释:就是将上一步预处理之后的预处理文件进行编译得到汇编文件,理解:就是将c++语言(高级语言)转换成汇编语言(低级语言);

编译步骤代码:gcc -S xxx.i -o xxx.s
-S:对预处理后的xxx.i进行编译;
-o:指定处理结果保存到哪个文件中去;
示例:gcc -S helloword.i -o helloword.s

第三步:汇编

解释:将上一步编译之后得到的汇编文件(低级语言)进行转换得到计算机可以识别的机器指令(二进制);但是不包含printf的实现代码;

gcc -c xxx.s -o xxx.o
-c:只进行到编译完成就结束,不做链接的过程
-o:指定处理结果保存到哪个文件中去;
示例:gcc -c helloword.s -o helloword.o

第四步:链接

解释:将所有代码整合到一起,形成一个完整的可执行程序;

gcc xxx.o -o xxx
o:指定处理结果保存到哪个文件中去;

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值