1.原理
从源文件.cpp到可执行文件.exe的编译过程,实际可拆分为4小步:①预编译 ②编译 ③汇编 ④链接
2.gcc编译指令
1.预编译/编译预处理 -E:#include <> 文本替换
//生成 【*.i】文件(预处理后的源文件,将头文件进行了文本替换。代码总量就变长了)
gcc -E hello.c -o hello.i
2.编译 -S:把高级语言翻译为汇编语言
//生成【*.s】文件(汇编文件,高级语言→汇编语言)
gcc -S hello.i -o hello.s
3.汇编:把汇编语言翻译为机器代码(0101),生成目标文件.o / .obj (Linux上为.o文件,Windows上为.obj文件)
//生成 【*.o】文件(目标文件,二进制文件)
gcc -c hello.s -o hello.o
//前三步也可合并为一步:
gcc -c hello.c -o hello.o
4.链接:把静态库 静态链接or把动态库 动态链接
//生成可执行程序(Windows:.exe   Linux:a.out)
gcc hello.o -o hello
//这四步也可合并为一步:
gcc hello.cpp -o hello