gcc 编译流程:
-
预处理-Pre-Processing
-E 选项指示编译器仅对输入文件进行预处理。当这个选项被使用时, 预处理器的输出被送到标准输出而不是储存在文件里
gcc -E code.c -o code.i //.i文件
-
编译-Compiling
-S 编译选项告诉 GCC 在为 C 代码产生了汇编语言文件后停止编译。
gcc -S code.i -o code.s //.s文件
-
汇编-Assembling
-c 选项告诉 GCC 仅把源代码编译为目标代码。缺省时 GCC 建立的目标代码文件有一个 .o 的扩展名。
gcc -c code.s -o code.o//.o文件
-
链接-Linking
-o 编译选项来为将产生的可执行文件用指定的文件名。
gcc code.o -o a//bin文件
其他选项:
选型 | 描述 | 示例 |
---|---|---|
-g | 产生带调试信息的编译后目标代码,供调试器(gdb)使用 | gcc -g source.c |
-C | 预处理时不删除注释信息 | 配合-E使用 |
-O |