Loading

gcc编译器工作流程和常用编译参数

编译器工作流程

首先介绍下编译器的工作流程,在使用gcc编译程序时,编译过程分为四个阶段:

  1. 预处理(Pre-Processing)
  2. 编译(Compiling)
  3. 汇编(Assembling)
  4. 链接(Linking)

常用编译参数

无任何参数

gcc test.c

如果没有添加任何参数,则编译器将默认执行预处理、编译、汇编、连接操作,最后直接生成默认名为a.out的可执行程序。


-o参数:指定输出名称

gcc -o test test.c

使用-o参数指定输出名称,不加-c、-S、-E参数,


-E参数:只进行预处理

gcc -E -o test.i test.c

使用-E参数对源程序进行预处理,将#include,#define等进行文件插入及宏扩展等操作,生成.i后缀名的文件(不同版本不一样,有的将预处理后的内容打印到屏幕上)。


-S参数:进行预处理、编译

gcc -S -o test.s test.c

使用-S参数将对源程序进行预处理、编译,生成.s后缀名的汇编文件,里面包含汇编代码。


-c参数:进行预处理、编译、汇编

gcc -c -o test.o test.c

使用-c参数将对源程序进行预处理、编译、汇编操作,生成.o后缀名的目标文件。


posted @ 2021-10-16 17:29  刘跑跑  阅读(515)  评论(0编辑  收藏  举报