预编译头的概念:
预编译头文件通常以.pch为扩展名,是将工程中比较稳定的代码预先编译好放在这个文件中
生成预编译头文件很耗时间,要尽量避免修改这些稳定的代码,如果这些代码被修改,则需要重新编译
生成预编译头文件。
作用:
预编译头文件可以用来提高速度,将不经常改变的代码预编译好,以免每次都和其他文件一起编译。
使用方法:
使用预编译头文件需要首先指定一个头文件,这个头文件包含不经常被改变的代码和其他的一些头文件
系统默认的是stdafx.h
下面是MFC自动包含的文件:
#define VC_EXTRALEAN // Exclude rarely-used stuff from Windows headers #include <afxwin.h> // MFC core and standard components #include <afxext.h> // MFC extensions #include <afxdtctl.h> // MFC support for Internet Explorer 4 Common Controls #ifndef _AFX_NO_AFXCMN_SUPPORT #include <afxcmn.h> // MFC support for Windows Common Controls #endif // _AFX_NO_AFXCMN_SUPPORT
头文件不能参与编译,一次还需要相应的.cpp文件,如果stdafx中不包含其他预编译代码,则在.cpp文件中
只需要包含stdafx.h,否则还需要实现头文件中的函数。
产生预编译头文件和使用预编译头文件:
1、工程->设置,选择C/C++选项卡,分类选择“预编译头文件”,选择创建预补偿页眉文件,或者
修改命令参数为Yc”stdafx.h”.
2、单独编译stdafx.cpp文件,使用(Ctrl+F7)
3、在进入工程设置中选择使用预补偿页眉文件,标题设为stdafx.h, 不加引号
4、重新编译工程即可
.pch 文件比较大默认是存放在Debug目录下的,怎么改变.pch文件的位置呢
在工程->设置的C/C++选项的工程选项中,改变Fd和Fp命令的参数即可,即将Debug目录改为自己需要的目录
Fp设置.pch的存放路径,Fd设置vc60.pdb,vc60.idb 路径
因为预编译头文件的使用需要之前使用的pdb文件,因此应同时保存.pdb文件到指定目录中
如此就可以删除整个Debug文件夹中的文件而不影响工程编译运行