预处理、编译、汇编、链接各个阶段分别处理什么:
- 预处理:
第一个任务是展开具体使用的头文件,预处理阶段会把所有引用的头文件打开来插入到我们本身的程序中;
第二个任务是替换掉所有宏进行;
第三个任务是删除掉所有的注释;
第四个任务是将不符合条件
#ifdef
的部分删除;
- 编译:
由编译器来检查一下程序是不是有问题是不是有一些语法错误,并生成汇编代码;(语法分析与词法分析)
- 汇编:
将汇编代码变成可执行文件;
- 链接:
当前的源文件引用了另外的头文件中的函数,或者在源文件中调用了某些库中已经写好的函数,执行的时候如果不把他们链接起来都是独立的一块一块的话,程序是不能够正确的执行的,所以我们就要进行第四步链接;