gcc编译源文件共有4个过程,预处理、编译、汇编、链接。
预处理:
命令:gcc -E test.c -o test.i (-o后面指定生成文件的命名)
过程:展开宏定义(#define),处理编译条件指令(#if #ifndef等),插入引用的头文件(#include),删除注释,添加行号和文件标识。
结果:生成.i文件,一般的文本编辑器都能打开
编译:
命令:gcc -S test.i -o test.s
过程:词法分析,语法分析,语义分析,生成相应的汇编代码
结果:生成.s文件,一般的文本编辑器都能打开
汇编:
命令:gcc -c test.s -o test.o
过程:将汇编语言转换成二进制文件
结果:生成.o文件,一般的文本编辑器无法打开,二进制文件都是0、1
链接:
命令:gcc test.o -o test
过程:链接动态库、静态库
结果:生成可执行文件
我们编译源文件的时候,可以分步编译,也可以使用gcc test.c -o test直接生成可执行文件。将多个源文件编译输出时,需要一起进行gcc编译,可利用Makefile文件来实现。
分步编译如下:
最后得到main可执行文件,在cmd命令窗口下输入main+回车,即可运行main可执行文件。