Linux下gcc,g++,makefile的使用

本文详细介绍了GCC编译器的工作流程,从预处理到编译、汇编直至链接的整个过程,并解释了-E、-S、-c等常用选项的作用及如何使用-o选项指定输出文件名,还涉及到了-x、-C、-M等高级选项的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

流程:
预处理->编译->汇编->链接。
预处理文件.i;
编译文件.s;
汇编文件.o;
-E
选项指示编译器仅对输入文件进行预处理。当这个选项被使用时,预处理器的输出被送到标准输出而不是存储在文件里。
-S
选项告诉gcc在为c代码产生了汇编语言文件后停止编译。GCC产生的汇编语言文件的缺省扩展名是.s
-c
选项告诉gcc仅把源代码编译为目标代码。缺省时建立的目标代码文件有一个.o的扩展名。
-o:
选项来为将来产生的可执行文件用制定的文件名。
-0:
选项告诉GCC对源代码进行基本优化,优化分为4个等级。
-O0表示没有优化
-O1为缺省值,主要进行跳转和延迟退栈两种优化
-O2 除了完成-o1的优化之外,还有进行一些额外的指令调整工作。
-O3 除了完成-o2的优化之外,还进行包括循环展开和其它一些与处理特性相关的优化工作
-x:
设定文件编译所使用的语言,使后缀名无效
-C:
在预处理的时候,不删除注释信息。
-M
生成文件关联信息。包含目标文件所依赖的所有源代码。
注:此文章并非原创

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值