背景

编译器一般都是以文件为单位进行编译,如果修改了工程中的一个文件,那么将导致所有文件都要从新编译,这样的编译将耗费很长时间。

目的

为了提高编译速度,将那些不常被修改,比较稳定,文件单独包含到一个指定的头文件中, 然后生成一个预编译头文件 *.pch 。

原理

VC中默认的头文件为 stdAfx.h, 但光有头文件无法编译,所以还要用到StdAfx.cpp里只包含一句有效代码,这样编译时,通过编译 stdAfx.cpp就把大部分系统头文件编译进来,Debug目录下便会产生一个存储了预编译信息的 .pch 文件。如果.pch文件损坏或者不存在,就会出现,error C1083: 无法打开预编译头文件xxx.pch: No such file or directory。 可见,你也可以在项目属性中选择“不使用预编译头”,但是编译大项目时可能会很慢

预编译头.pch文件详解相关推荐

  1. IOS 中 pch 文件详解

    在 Xcode6 之前,创建一个新工程会在 Supporting files 文件夹下面自动创建一个"工程名-Prefix.pch"文件,也是一个头文件,pch 头文件的内容能被项 ...

  2. IOS .pch 文件详解

    在IOS开发的项目中有一个XX_Prefix.pch XX_Prefix.pch:扩展名.pch表示"precompiled header",这是一个你工程要用到的来自于外部框架的 ...

  3. MDK编译过程和文件详解

    MDK编译过程 编译生成的不同的文件将在后面进行详细说明 1) 编译:MDK软件使用的编译器是armcc和armasm,它们根据每个c/c++和汇编文件编译成对应的以".o"为后缀 ...

  4. cmd编译运行Java文件详解

    ①准备工作 首先用记事本编写HelloWorld.java放至G:\Javaspace路径 public class HelloWorld{ public static void main(Strin ...

  5. Visual C++ 在windows 7 上预编译头错误unexpected precompiled header error, simply rerunning the compiler migh

    之前有人在win7上遇到了类似的错误,Error      1     fatal error C1859: 'Debug\CppDllExport.pch' unexpected precompil ...

  6. fatal error C1083: 无法打开预编译头文件:“Debug\opencv.pch”: No such file or directory

    fatal error C1083: 无法打开预编译头文件:"Debug\opencv.pch": No such file or directory 步骤/方法: 右键点击你创建 ...

  7. fatal error C1083: 无法打开预编译头文件:“Debug\a.pch”:No such file or directory

    一.解决方法 右键点击你创建的项目,选择"属性标签"点击属性,弹出"项目属性页",在左侧找到以下位置  配置属性 -->  C/C++  --> 预 ...

  8. 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include pch.h”?

    vs2015 写Demo运行的时候报错: 在查找预编译头时遇到意外的文件结尾.是否忘记了向源中添加"#include "pch.h""? 解决办法:取消预编译头 ...

  9. error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include “pch.h“

    问题是使用VS创建的C\C++工程时,VS会默认为每一个.cpp文件的首行添加#include "stdafx.h".文件"stdafx.h"是一个预编译头文件 ...

  10. 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include “pch.h“

    在查找预编译头时遇到意外的文件结尾.是否忘记了向源中添加"#include "pch.h" 方法一: 选择报错的.cpp或者.c文件,右键-属性-预编译头-不使用预编译头 ...

最新文章

  1. 数据库学习day_01:SQL的发展和数据库操作相关sql语句
  2. 自适应后的页面用户点击后会放大
  3. 关于ajax 1.0的一个问题?
  4. 计算机应用基础任务化教程知识点,计算机应用基础任务化教程
  5. Python3协程(coroutine)理解
  6. java中static的用法
  7. VS2017编译UE4.19.2报错
  8. python mad函数_Python函数的基本定义
  9. spring-boot actuator(监控)配置和使用
  10. 使用ef查询有缓存的问题
  11. python学习之-- redis模块基本介绍
  12. XAMPP端口更改后 httpd-vhosts.conf 文件配置
  13. java计算机毕业设计家庭安防系统MyBatis+系统+LW文档+源码+调试部署
  14. boot版本是什么 cent os_确定 BootROM 或固件版本
  15. 蓝桥杯 T32大臣的旅费
  16. 为什么 128 KB 的魂斗罗可以塞下这么长的剧情?
  17. 常用USB种类以及管脚介绍
  18. win10 系统修改无线网卡MAC地址
  19. 五大创新型AI软件公司,下一个AI独角兽就是你
  20. 工作琐事太多怎么办_待办的事情太多,如何有条不紊的进行工作呢?

热门文章

  1. mysql中的查找算法_7种查找算法解析
  2. Oracle 实现 right 函数
  3. C++ 惯用法之 Nifty Counter
  4. Frontend Development
  5. 【C++】初窥门径---入门篇
  6. 【ZZULIOJ】1000: 从今天开始入坑C语言
  7. getopt_long的使用
  8. C++ Bayer图像格式,使用GDAL进行格式转换。
  9. PLC-Recorder快速监控多个PLC位的技巧
  10. 详解Java 12新特性:switch表达式