编译流程图
gcc编译.c和.cpp文件主要分为四个步骤
源文件:test.c/test.cpp
一、预处理阶段
将文件中的宏定义、#include”“包含的头文件进行展开。
gcc编译命令gcc -E test.c -o test.i
-E:完成预处理后停止编译进程
-o test.i:生成预处理后文件为 test.i
.i:Intermediate file
二、编译阶段
将经过预处理阶段得到的预处理文件test.i编译为汇编程序
gcc -S test.i -o test.s
-S:完成编译阶段后停止编译进程
-o test.s:生成汇编文件test.s
.s:Assembly file
三、汇编阶段
将经过编译阶段得到的汇编文件test.s汇编为目标文件
gcc -c test.s -o test.o
-c:完成汇编阶段后停止编译过程
-o test.o:生成目标文件test.o
.o:object file
四、链接阶段
将目标文件与启动文件、其他库文件、其他目标文件进行链接
gcc test.o -o test.exe
-o test.exe:生成目标test.exe可执行文件