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文件

你可能感兴趣的:(C语言基础)