1.编译与链接的区别:
预处理:处理宏定义指令#define 、头文件#include等
#include<filename> ,尖括号表示系统提供的头文件,直接去系统目录查找;
#include“animal.h”,双引号表示自己编写的头文件,先在工程目录里面查找,找不到再到系统目录查找。
预编译程序所完成的基本上是对源程序的“替代”工作。经过此种替代,生成一个没有宏定义、没有条件编译指令、没有特殊符号的输出文件。这个文件的含义同没有经过预处理的源文件是相同的,但内容有所不同,经过预编译后产生完整的源文件,将此文件作为编译程序的输入而被翻译成为机器指令
编译:将高级语言(如c++)转换为机器语言(二进制)
编译过程中,每个源文件进行单独编译。
编译技巧:编译的作用是对源程序进行词法检查、语法检查和中间代码生成。编译时对文件中的全部内容进行检查,如果有语法错误,编译结束后会显示出所有的编译出错信息,开发人员可以根据错误提示修改程序。对于新写的一个保护多个文件的工程,一开始采用源文件分别编译,这样容易发现每个源文件的自身错误,限定了错误的范围,如果一开始就采用全部编译,多个源文件可能会产生许多错误,无形中增加了开发难度。如果每个