Linux下GCC编译的过程

1.预处理 -E —— xx.i (中间文件)
2.编译 -S —— xx.s (汇编文件)
3.汇编 -c —— xx.o (目标文件)
4.链接 —— xx (可执行文件)

在这里插入图片描述

1.预处理

gcc -E Gcc_test.c  -o Gcc_test.i	
//将.c文件生成.i(中间文件)
// 处理所有以#开头的语句(头文件、宏定义、条件编译),不检查语法错误
// 编译器在预处理结束时就停止编译

在这里插入图片描述
进行预处理 -E,生成xx.i文件(.i是中间文件)
2.编译

gcc -S test.i -o test.s
//这一步的主要步骤是将.i(中间文件)文件编译生成.s(汇编文件)
//检查是否有语法错误,确认无误后编译生成汇编语言

在这里插入图片描述

3.汇编

gcc -c test.s -o test.o
//将.s(汇编文件)文件生成.o(二进制的目标文件)
//也就是将汇编文件翻译成计算机认识的二进制的目标文件

在这里插入图片描述

4.链接

gcc test.o -o test
//将.o(二进制的目标文件)生成可执行文件
//链接系统库函数 ,没有特别指定时,gcc会到系统默认的搜索路径“/user/lib”
//下进行查找,也就是链接到“lib.so.6”库函数中去

在这里插入图片描述
——————————————————
不分解,一次即可编译成功:
gcc tets.c -o test

https://so.csdn.net/so/search/s.do?q=gcc%E7%BC%96%E8%AF%91%E6%B5%81%E7%A8%8B&t=&u=

https://blog.csdn.net/chengyq116/article/details/87856641

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值