gcc编译C程序生成可执行文件分为四个步骤;
- 预处理(分析各种命令,如#define、#include、#if等。gcc调用cpp程序进行预处理工作。):
gcc -E hello.c -o hello.i
- 编译(根据输入文件产生汇编语言,输出不保存在文件中。gcc调用ccl进行编译工作。):
gcc -S hello.c -o hello.s
- 汇编(将汇编语言用作输入,产生具有.o拓展名的目标文件。gcc调用as进行汇编工作。)
gcc -c hello.s -o hello.o
- 链接(各目标文件被放在可执行文件的适当位置上,改程序引用的函数也放在可执行文件中。gcc调用链接程序ld来完成最终的任务。)
gcc hello.o -o hello
- 执行
./hello