以下面程序为例
hello.c
#incldue<iostream>
#include<cstdio>
using namespace std;
int main(){
printf("hello");
return 0;
}
1.预处理阶段
读取头文件,宏定义等以字符#开头的文件,并直接插入到hello.c文件中,生成hello.i文件。
2.编译阶段
将hello.i文件编译成汇编语言程序,生成hello.s文件。
3.汇编阶段
将hello.s汇编文件翻译成相应的机器语言,生成二进制文件,hello.o.
4.链接阶段
将与本文件相关其他文件生成好的.o文件(例如hello.c用到了printf())与本文件生成的.o文件链接到一起,组成完整的程序,并生成相关的可执行文件(exe)。