vc中stdafx作用
来源:互联网 发布:java http传输协议 编辑:程序博客网 时间:2024/05/28 05:19
Windows和MFC的include文件都非常大,即使有一个快速的处理程序,编译程序也要花费相当长的时间来完成工作。因为同一个项目中的不 同.CPP源文件都包含相同的include文件,这样,为每个.CPP文件都重复include这些文件就显得很傻了。为避免这种浪 费,AppWizard和Visual C++编译程序一起进行工作,如下所示:
◎AppWizard建立了文件stdafx.h,该文件包含了所有当前工程文件需要的MFC include文件。且这一文件可以随被选择的选项而变化。
◎AppWizard然后就建立stdafx.cpp。这个文件通常都是一样的。
◎然后AppWizard就建立起工程文件,这样第一个被编译的文件就是stdafx.cpp。
◎当VisualC++编译stdafx.cpp文件时,它将结果保存在一个名为stdafx.pch的文件里。(扩展名pch表示预编译头文件。)
◎当VisualC++编译随后的每个.cpp文件时,它阅读并使用它刚生成的.pch文件。Visual C++不再分析Windows include文件,除非你又编缉了stdafx.cpp或stdafx.h。
在这个过程中你必须遵守以下规则:
◎你编写的任何.cpp文件都必须首先包含stdafx.h。
◎如果你有工程文件里的大多数.cpp文件需要.h文件,顺便将它们加在stdafx.h(后部)上,然后预编译stdafx.cpp。
◎由于.pch文件具有大量的符号信息,它是你的工程文件里最大的文件。
如果你的磁盘空间有限,你就希望能将这个你从没使用过的工程文件中的.pch文件删除。执行程序时并不需要它们,且随着工程文件的重新建立,它们也自动地重新建立。
◎AppWizard建立了文件stdafx.h,该文件包含了所有当前工程文件需要的MFC include文件。且这一文件可以随被选择的选项而变化。
◎AppWizard然后就建立stdafx.cpp。这个文件通常都是一样的。
◎然后AppWizard就建立起工程文件,这样第一个被编译的文件就是stdafx.cpp。
◎当VisualC++编译stdafx.cpp文件时,它将结果保存在一个名为stdafx.pch的文件里。(扩展名pch表示预编译头文件。)
◎当VisualC++编译随后的每个.cpp文件时,它阅读并使用它刚生成的.pch文件。Visual C++不再分析Windows include文件,除非你又编缉了stdafx.cpp或stdafx.h。
在这个过程中你必须遵守以下规则:
◎你编写的任何.cpp文件都必须首先包含stdafx.h。
◎如果你有工程文件里的大多数.cpp文件需要.h文件,顺便将它们加在stdafx.h(后部)上,然后预编译stdafx.cpp。
◎由于.pch文件具有大量的符号信息,它是你的工程文件里最大的文件。
如果你的磁盘空间有限,你就希望能将这个你从没使用过的工程文件中的.pch文件删除。执行程序时并不需要它们,且随着工程文件的重新建立,它们也自动地重新建立。
对于加入到工程中的cpp文件,应该检查是否在第一行显式的包含stdafx.h头文件,在这个#include "stdafx.h"行前面的所有代码将被忽略,所以其他头文件应该在这一行后面被包含。
对于.c文件,由于不能包含stdafx.h,因此可以通过Project settings把它的预编译头设置为"不使用",方法是:
弹出Project settings对话框
选择C/C++ Category
选择Precompilation Header
选择不使用预编译头。
使用小记:将每个.cpp文件需要的.h文件include在stdafx.cpp中,这些.h文件可以是自己定义的。另外在其他.h文件需要stdafx.cpp中的头文件时不需要引用这些头文件了,也不需要引用#include "stdafx.h"
注:AFX:---AFX is an abbreviation for a group. The MFC group was originally called the "Application Framework group" during the inception of MFC.However, X doesn‘t stand for anything other than sounding cool. The original AFX group was renamed to MFC long ago. There is no current AFX group. But the "AFX" hasn‘t been changed to "MFC" for the compatibility- vc中stdafx作用
- VC中stdafx.h文件的作用
- VC中stdafx.h的作用
- visual studio 中stdafx.h的作用
- C++中stdafx.h的作用体会
- VC++ StdAfx
- VC中stdafx.h的妙用
- VC中的stdafx.h简介(原理及作用)
- stdafx.h、stdafx.cpp作用
- VC中stdafx.h中afx代表什么意思
- VC中stdafx.h中afx代表什么意思
- stdafx.h在C++中起到的作用是什么?
- C++ 中stdafx.h头文件的作用
- stdafx.h在C++中起到的作用
- MFC中全局变量得到定义及stdafx.h的作用
- visual c++中stdafx.h的作用以及原理
- vc++2010 中 IntelliSense: 无法打开 源 文件 "stdafx.h"
- VC++2010 中 IntelliSense: 无法打开 源 文件 "stdafx.h"
- java实现树型结构方法一
- 分区时"磁盘上没有足够的空间完成此操作"的解决方法
- document的createElement方法创建具有指定标签的DOM对象
- MFC点点滴滴——进度条控件
- 看看你对敏捷迭代方法的理解:敏捷迭代考试试题附带答案
- vc中stdafx作用
- [观点]如何有效的招聘技术人员
- 在装有Linux的虚拟机上新增磁盘的方法
- (java—J2EE ) 部署描述符
- java 之树型递归算法
- android device 注册、添加、管理
- Linux学习笔记之用户登录
- ubuntu使用超级管理员root登录
- 网络编程函数笔记(二)