预编译和预编译头的概念以及使用

预编译是编译前处理#、宏定义和条件编译的过程,常用于处理不变代码段。预编译头减少重复编译大型头文件导致的慢速,通过.pch文件实现。使用预编译头需创建包含所需头文件的Stdafx.h和Stdafx.cpp,设置编译器选项,并确保所有cpp文件引用预编译头。
摘要由CSDN通过智能技术生成

什么是预编译?

a,预编译就是在编译代码之前的一些先前的处理工作

b,处理一些以"#"开头的指令

      #inlcude "头文件"

      #define 宏定义

      条件编译等

预编译指令就是在正式编译之前由编译器编译一把的内容,可以放在程序的任何位置

C编译系统会在对程序进行统一的编译之前,会对预编译指令进行预处理

何时需要用到预编译?

a,总是经常使用不会改动或者不会进行大型改动的代码段

b,程序由多个模块组成,而且每一个模块都会使用到相同的头文件或者预编译的指令

这个时候我们就需要预编译技术,靠这个技术来生成预编译头。

什么是预编译头?

在实际的开发中,几乎好多的cpp文件都会包含一大堆相同的头文件,在编译器进行编译的时候,都会将这些头文件进行展开,然后进行编译,但是每一个cpp文件包含一遍就是展开编译一遍,所以当我们包含的头文件太大的时候,编译的速度就会贼吉尔慢,这个时候就需要预编译开生成预编译头,一次编译,全体通用。

当我们使用预编译技术之后,会在对应工程的Debug或者Release文件夹中找到一个:***.pch的文件(通常是这个后缀,至少我在windows上面的时候就是这个后缀),这个文件就是我们使用预编译生成的预编译头文件。

采用预编译之后,生成的预编译头文件就可以让每一个cpp文件进行使用,且不会像普通的头文件那样展开然后重新编译,预编译头文件是提前编译好然后加载到内存中去的。

但是随之而来的就会有有个问题ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值