gcc 编译选项常用参数(-S -c -E -o)

gcc 编译选项常用参数(-S -c -E -o)

前言

在编译C语言程序中,gcc是最常用的编译器,本文主要说明gcc中最重要,最基本的参数,知道这几个参数的作用,大多数场景下的编译任务我们都可以完成了。本文也借这几个参数,说明一段c语言代码是如何编译成为机器识别的代码的。

常用参数功能说明

本文主要说明-E,-S,-c,-o 四个编译选项,他们分别对应C语言程序编译中的几个步骤。
以编译程序test.c为例

  1. -E: 预处理,主要是进行宏展开等步骤,生成的文件微test.i

    gcc -E test.c

  2. -S: 编译,生成汇编代码,生成的文件为test.S

    gcc -S test.c

  3. -c: 汇编:生成机器码,生成的文件未test.o

    gcc -c test.c

  4. (-o): 链接:生成可执行文件

    gcc test.c (-o test)

    我们需要注意,-o本质上是一个重命名选项。无论有没有-o选项,最后都会执行链接的步骤。
    当不使用-o选项时,执行命令gcc test.c,生成的是默认的a.out文件。这个名字太丑啦,所以一般我们用-o重命名一下, 使用命令gcc test.c -o test,生成可执行的test文件

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值