VS(visual studio)中创建项目中的‘预编译头’选项含义。
2012-12-28 18:40
281 查看
对于一个VC++初学者在‘新建’项目时,可能会有这个疑问:
‘预编译头’是干什么的?(当然在属性页 ---> 配置属性 ---> C/C++ --->预编译头 也是可以设置的)
为了解决这个问题,需要先了解这样两个文件。‘stdafx.h’ 和‘stdafx.cpp’文件。
在 win32 项目‘stdafx.h’ 文件中会存放一些必需的头文件,如其中引用了 "targetver.h"头文件等 ,"targetver.h"主要定义了程序运行需要的最低Windows版本。
在MFC项目中‘stdafx.h’ 文件中引用的头文件有:
#include <afxwin.h> // MFC 核心组件和标准组件.
#include <afxext.h> // MFC 扩展; 凡使用工具栏、状态栏的程序必须载入这个文件
#include <afxdisp.h> // MFC 自动化类
#include "targetver.h"
..........
而在‘stdafx.cpp’ 中只是 简单了引用了 ‘stdafx.h’文件。
1) 当选中‘预编译头’ 选项时, 就相当于告诉编译器,编译过‘stdafx.h’’中的内容下次就不要再进行编译了,编译后会生成一个‘stdafx.pch’文件,
第二次再编译时直接从磁盘中取出来。
之所以要这样做, 因为这些都是系统的头文件,一般是不需要修改的,重复编译会浪费大量的时间。(这种观念在 Borland C/C++ 早就有了,
MS 在vc++ 1.0 才有的)
在新建MFC项目(vs2008)中并没有这一选项,估计是系统强制选择了‘预编译头(Precompiled Header)’。
2) 还有一个问题就是,‘stdafx.cpp’’是作什么用的?
我们知道‘*.h’ 文件是无法编译的。所以必须借助于‘afxstd.cpp’ 这个源文件才能得以实现,即生成‘.pch’文件。
‘预编译头’是干什么的?(当然在属性页 ---> 配置属性 ---> C/C++ --->预编译头 也是可以设置的)
为了解决这个问题,需要先了解这样两个文件。‘stdafx.h’ 和‘stdafx.cpp’文件。
在 win32 项目‘stdafx.h’ 文件中会存放一些必需的头文件,如其中引用了 "targetver.h"头文件等 ,"targetver.h"主要定义了程序运行需要的最低Windows版本。
在MFC项目中‘stdafx.h’ 文件中引用的头文件有:
#include <afxwin.h> // MFC 核心组件和标准组件.
#include <afxext.h> // MFC 扩展; 凡使用工具栏、状态栏的程序必须载入这个文件
#include <afxdisp.h> // MFC 自动化类
#include "targetver.h"
..........
而在‘stdafx.cpp’ 中只是 简单了引用了 ‘stdafx.h’文件。
1) 当选中‘预编译头’ 选项时, 就相当于告诉编译器,编译过‘stdafx.h’’中的内容下次就不要再进行编译了,编译后会生成一个‘stdafx.pch’文件,
第二次再编译时直接从磁盘中取出来。
之所以要这样做, 因为这些都是系统的头文件,一般是不需要修改的,重复编译会浪费大量的时间。(这种观念在 Borland C/C++ 早就有了,
MS 在vc++ 1.0 才有的)
在新建MFC项目(vs2008)中并没有这一选项,估计是系统强制选择了‘预编译头(Precompiled Header)’。
2) 还有一个问题就是,‘stdafx.cpp’’是作什么用的?
我们知道‘*.h’ 文件是无法编译的。所以必须借助于‘afxstd.cpp’ 这个源文件才能得以实现,即生成‘.pch’文件。
相关文章推荐
- VS2005 起始页 最近的项目中 没有打开/创建网站选项
- Visual Studio 2017显示创建新的网站项目的选项
- 创建Visual studio项目模板 vstemplate关键点纪要
- Visual Studio 2015中创建C#的Android项目提示"Value cannot be null"的解决方法
- Vs2012 创建项目失败 未找到与约束ContractName
- 使用vs 2008创建项目,没出现解决方案的问题
- android中创建项目各选项的意思
- VS中创建dll项目,使用dll文件
- win10下vs2015创建asp,net core项目并运行在ubuntu14.04下
- VS项目属性中没有链接器选项
- (二) vscode 创建.net core web项目和webapi项目
- 技巧和诀窍:用VS 2005创建可重用的项目和部件模板
- 安装好vs 2010 后不能创建项目,如何解决?
- VS2012,更新补丁后的残忍--创建项目未找到与约束匹配的导出
- 【Visual Studio】VS发布应用未能创建默认证书的问题解决方法
- 使用Visual Studio 创建新的Web Part项目
- 一种利用Cmake,使得低版本Visual Studio IDE快速运行高版本VS项目的方法~
- Visual Studio 2008“选项”对话框 ->“项目和解决方案”->“生成并运行”
- Visual Studio 2013中用VSIX创建项目模版
- VS2010/VS2013项目创建 ADO.NET连接mysql/sql server详细步骤