GNU Toolchain —— (二)GCC参数详解

本文详细介绍了GCC(GNU Compiler Collection)的编译过程及常用参数,包括预处理、编译、汇编和链接四个阶段。讲解了-c、-S、-E选项的作用,以及-o用于指定输出文件名。还涵盖了目录选项如-I和-L,警告选项如-Wall,调试选项-g,优化选项-O系列,以及其他选项如-x、-std、-rdynamic等。同时,文章提到了不同编译选项如何影响最终生成的代码,并给出了多个实例展示如何使用这些参数。

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

gcc是gnu compiler collection 的简称,他包含了多种语言的编译器,如C,C++,Objective-C,Objective-C++,Java,Fortran,andAda。但每种编译器的名字不一样,gcc and g++分别是gnuc & c++编译器

gcc/g++
在执行编译工作的时候,总共需要4

1.
预处理,生成.i的文件[调用预处理器cpp]
2.
将预处理后的文件转换成汇编语言,生成文件.s[调用编译器gcc/egcs]
3.
有汇编变为目标代码(机器代码)生成.o的文件[调用汇编器as]
4.
连接目标代码,生成可执行程序[调用链接器ld]


选项可以大致分为以下几类:

全局选项  -c,-S,-E ,-o
目录选项  -Ipath,-Lpath
链接选项 -shared,-llibrary -Wl option(传递option给链接程序)
警告选项 -Wall, -Wextra,-Wconversion,-Wshardow,-Wcast-qual
调试选项 -g ,-ggdb
优化选项 -O, -O0,-O1,-O2,-O3
其它选项 -fPIC


常见的gcc参数介绍

-x language filename
  设定文件所使用的语言,使后缀名无效,对以后的多个有效.也就是根
  据约定C语言的后缀名称是

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值