我们在使用gcc生成可执行程序的时候,一般是命令: gcc *.c, 生成可执行文件a.out
其实过程可以分为4个步骤,分别是预处理,编译,汇编和链接。下面以最基本的helloworld来简单了解一下编译的过程。
1.预编译
预编译又称为预处理,是做些代码文本的替换工作。
处理#开头的指令,比如拷贝#include包含的文件代码,#define宏定义的替换,条件编译等
就是为编译做的预备工作的阶段
主要处理#开始的预编译指令
gcc -E hello.c -o hello.i 生成的hello.i仍然是个文本文件
2.编译
把用高级程序设计语言书写的源程序,翻译成汇编语言
3.汇编
这个过程把汇编语言翻译成机器语言
4.链接
将生成的目标文件和其所依赖的库文件进行连接,生成一个可执行文件
转载于:https://blog.51cto.com/forker/1675969