https://blog.csdn.net/weixin_41143631/article/details/81221777
https://zhuanlan.zhihu.com/p/106777805
main.cpp
#include <stdio.h>
int main(){
printf("Hello world!");
return 0;
}
1. 预处理
使用预处理器把源文件test.c经过预处理生成test.i文件,预处理用于将所有的#include头文件以及宏定义替换成其真正的内容。
gcc -E main.cpp -o main.i
2. 编译
编译阶段是检查语法,生成汇编
gcc -S main.cpp -o main.s
3. 汇编(Assemble)
使用汇编器将汇编文件test.s转换成目标文件test.o。
gcc -c main.cpp -o main.o
4. 链接
将源文件中用到的库函数与汇编生成的目标文件.o合并生成可执行文件
gcc main.o -o main.exe