1】预处理阶段
预处理阶段 gcc -E main.c -o main.i
在此阶段会去掉所有的宏,比如宏定义,包含的头文件等会全部包含进来
2】编译阶段 gcc -S mian.i -o main.s
在此阶段会将c源代码编译成汇编代码
3】汇编阶段 gcc -c main.s -o main.o
此阶段将会汇编代码生成目标文件,机器可识别的机器码
4】链接阶段 gcc main.o -o main
此阶段是机器去执行目标文件中寻找所链接的库,经过此阶段将生成可执行文件。
静态库是添加到可执行文件中,动态库是运行时再去链接,所以前者比后者的可执行文件要大。