Linux03

GCC使用

gcc的文件类型

文件后缀名文件类型约定
.cc语言源代码文件
.a由目标文件构成的档案库文件
.C/.cc/.cxxc++源代码文件
.h程序所包含的头文件
.i经预处理过的源代码文件
.ii经预处理过的c++源代码文件
.mObjective-C源代码文件
.o编译后的目标文件
.s汇编语言编写的源代码文件
.S经过预编译的汇编语言文件

gcc选项参数

选项功能
-o指定输出的文件名,在汇编为目标代码时,这选项不是必须的,如果文件名没有指定,那么默认文件名是a.out
-c只汇编不链接,生成目标文件“.o”
-S只编译不汇编,生成汇编代码文件“.s”
-E只进行预处理,生成预处理后文件“.i”
-g在生成可执行程序中包含标准调试信息
-v打印编译器内部编译过程的命令行信息和编译器的版本号
-w禁止所有警报

GCC编译过程

1、预处理
第一步就是预处理,在预处理阶段主要处理源文件中的#ifdef、#include和#define等处理命令。该阶段会生成一个中间文件*.i

gcc -E test.c -o test.i

2、编译
第二步是编译阶段,在编译阶段gcc把预处理后的结果编译成汇编或者目标模块。输入的是中间文件*.i,编译后生成汇编语言文件 .s

gcc -s test.i -o test.s

3、汇编
下一步就是汇编。在汇编阶段,编译器把编译出来的结果汇编成具体的CPU上的目标代码模块。输入汇编文件.s,输出机器语言.o

gcc -c test.s -o test.o

4、链接
最后,在链接阶段把多个目标代码模块连接成一个大的目标模块。输入机器代码文.o,汇集成一个可执行的二进制代码文件。

gcc test.o -o test

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值