gcc编译工具的基本操作命令

一个编译过程包括下面几个阶段:

(1)预处理:预处理器将对源文件中的宏进行展开。
(2)编译:gcc将c文件编译成 汇编文件。
(3)汇编:as将汇编文件编译成机器码。
(4)链接:将目标文件和外部符号进行连接,得到一个可执行二进制文件。

gcc所支持的文件后缀名

test.c  表示c原始程序
test.i  表示经过预处理后的程序
test.s  经过编译后的汇编语言程序
test.o  通过汇编将编译文件转化成二进制的目标文件

gcc 参数 选项
常用参数:

-c  表示编译源文件,只进行编译不进行链接,生成目标文件test.o
-o  表示输出目标文件
-o file  将file文件指定作为输出文件
-g  表示在目标文件中产生调试信息,用于gdb调试
-E:仅执行编译预处理;
-S:将C代码转换为汇编代码;
-Wall  打开所有类型的警告。

如果未指定参数

gcc test.c

则会将main.c文件进行预处理、编译、汇编和链接操作,最后默认生成a.out可执行文件
如果采用-o参数指定输出目标文件的名称:

gcc test.c -o test

则最后不会生成a.out可执行文件,而是test可执行文件

预处理阶段
对包含的头文件和宏定义进行处理

gcc -E test.c -o test.i
//vim test.i

编译阶段

gcc -S test.i -o test.s
//vim test.s 查看汇编语言

汇编阶段
采用as将汇编文件译成机器码

as test.s -o test.o

但此时的test.o文件不能执行,还需要进行链接

gcc test.o -o test

此时test为可执行程序

汇编和链接可以直接一起进行执行
将.s的汇编文件和库文件链接起来直接形成可执行程序test

gcc test.s -o test
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值