gcc编译器(编译选项/过程)

GCC编译器

GCC 原名为 GNU C 语言编译器(GNU C Compiler),因为它原本只能处理C语言。GCC 后扩展,变得可处理 C++,后又支持更多编程语言,如Fortran、Pascal、Objective-C、Java、Ada、Go以及各类处理器架构上的汇编语言等,所以改名GNU编译器套件(GNU Compiler Collection).

 

GCC编译选项

-E:仅作预处理,头文件、宏的处理

-S:仅编译到汇编语言,不汇编和链接

-c:编译、汇编到目标代码(计算机可识别的二进制),不链接标准库(或第三方库)

-o:执行gcc后目标文件命名

-g:生成调试信息(方便gdb调试)

-w:不生成任何警告

-Wall:生成所有的警告

 

gcc编译步骤

预处理:gcc -E Test.c -o Test.i

编译: gcc -S Test.i -o Test.s

汇编: gcc -c Test.s -o Test.o

链接生成可执行文件: gcc Test.o -o Test

 

gcc编译过程

创建一个源文件(.c文件)

gcc编译器(编译选项/过程)_第1张图片

预处理

gcc编译器(编译选项/过程)_第2张图片

编译

gcc编译器(编译选项/过程)_第3张图片

汇编

gcc -c test.s -o test.o (二进制格式)

链接生成可执行文件

运行程序(操作系统创建进程)

你可能感兴趣的:(编译调试)