假定有一个源文件:hello.c
gcc编译它具体需要四步:
1、预处理
gcc -E hello.c > hello.i
这里重定向到hello.i文件,否则,会直接输出到屏幕,注意预处理文件必须以.i结尾。
2、编译
gcc -S hello.i
编译阶段,会检查语法错误,并输出一个.s结尾的文件,这里是hello.s。
如果用vim hello.s 可以看到该文件其实是一个汇编指令。
3、汇编
gcc -c hello.s
汇编后,产生hello.o文件,注意:该文件不能运行,因为可能缺少链接库。
以上3步也可以编译c++的源文件,但是,最后链接需要g++的链接库。
4、链接
gcc hello.o -o hello
链接需要的库文件,该步骤可以检查出写错误的函数名,提示无法找到函数库。
最后,生成可执行文件hello。