什么是预编译?
a,预编译就是在编译代码之前的一些先前的处理工作
b,处理一些以"#"开头的指令
#inlcude "头文件"
#define 宏定义
条件编译等
预编译指令就是在正式编译之前由编译器编译一把的内容,可以放在程序的任何位置
C编译系统会在对程序进行统一的编译之前,会对预编译指令进行预处理
何时需要用到预编译?
a,总是经常使用不会改动或者不会进行大型改动的代码段
b,程序由多个模块组成,而且每一个模块都会使用到相同的头文件或者预编译的指令
这个时候我们就需要预编译技术,靠这个技术来生成预编译头。
什么是预编译头?
在实际的开发中,几乎好多的cpp文件都会包含一大堆相同的头文件,在编译器进行编译的时候,都会将这些头文件进行展开,然后进行编译,但是每一个cpp文件包含一遍就是展开编译一遍,所以当我们包含的头文件太大的时候,编译的速度就会贼吉尔慢,这个时候就需要预编译开生成预编译头,一次编译,全体通用。
当我们使用预编译技术之后,会在对应工程的Debug或者Release文件夹中找到一个:***.pch的文件(通常是这个后缀,至少我在windows上面的时候就是这个后缀),这个文件就是我们使用预编译生成的预编译头文件。
采用预编译之后,生成的预编译头文件就可以让每一个cpp文件进行使用,且不会像普通的头文件那样展开然后重新编译,预编译头文件是提前编译好然后加载到内存中去的。
但是随之而来的就会有有个问题ÿ