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 -c test.s -o test.o (二进制格式)