stdafx.h介绍
stdafx.h,全称为Standard Application Framework Extensions(标准应用程序框架的扩展)。预编译头文件通过编译stdafx.cpp生成,并以工程名命名。所谓的头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H)预先编译,这样用户在以后进行工程编译的时候就无需再编译这部分头文件,直接点击生成即可,以此能加快编译速度,节省时间。stdafx.h头文件包含了scanf和printf函数的定义。
没有函数库,只是定义了一些环境参数,使得编译出来的程序能在32位的操作系统环境下运行。
Windows和MFC的include文件都非常大,即使有一个快速的处理程序,编译程序也要花费相当长的时间来完成工作。由于每个.CPP文件都包含相同的include文件,为每个.CPP文件都重复处理这些文件就显得很傻了。
为避免这种浪费,AppWizard和VisualC++编译程序一起进行工作,如下所示:
◎AppWizard建立了文件stdafx.h,该文件包含了所有当前工程文件需要的MFCinclude文件。且这一文件可以随被选择的选项而变化。
◎AppWizard然后就建立stdafx.cpp。这个文件通常都是一样的。
◎然后AppWizard就建立起工程文件,这样第一个被编译的文件就是stdafx.cpp。
◎当VisualC++编译stdafx.cpp文件时,它将结果保存在一个名为stdafx.pch的文件里。(扩展名pch表示预编译头文件。)
◎当VisualC++编译随后的每个.cpp文件时,它阅读并使用它刚生成的.pch文件。VisualC++不再分析Windowsinclude文件,除非你又编缉了stdafx.cpp或stdafx.h。
这个技术很精巧,你不这么认为吗?(还要说一句,Microsoft并非是首先采用这种技术的公司,Borland才是。)在这个过程中你必须遵守以下规则:
◎你编写的任何.cpp文件都必须首先包含stdafx.h。
◎如果你有工程文件里的大多数.cpp文件需要.h文件,顺便将它们加在stdafx.h(后部)上,然后预编译stdafx.cpp。
◎由于.pch文件具有大量的符号信息,它是你的工程文件里最大的文件。
如果你的磁盘空间有限,你就希望能将这个你从没使用过的工程文件中的.pch文件删除。执行程序时并不需要它们,且随着工程文件的重新建立,它们也自动地重新建立。
是什么?
Standard Application Fram Extend没有函数库,只是定义了一些环境参数,使得编译出来的程序能在32位的操作系统环境下运行。
Windows和MFC的include文件都非常大,即使有一个快速的处理程序,编译程序也要花费相当长的时间来完成工作。由于每个.CPP文件都包含相同的include文件,为每个.CPP文件都重复处理这些文件就显得很傻了。
为避免这种浪费,AppWizard和VisualC++编译程序一起进行工作,如下所示:
◎AppWizard建立了文件stdafx.h,该文件包含了所有当前工程文件需要的MFCinclude文件。且这一文件可以随被选择的选项而变化。
◎AppWizard然后就建立stdafx.cpp。这个文件通常都是一样的。
◎然后AppWizard就建立起工程文件,这样第一个被编译的文件就是stdafx.cpp。
◎当VisualC++编译stdafx.cpp文件时,它将结果保存在一个名为stdafx.pch的文件里。(扩展名pch表示预编译头文件。)
◎当VisualC++编译随后的每个.cpp文件时,它阅读并使用它刚生成的.pch文件。VisualC++不再分析Windowsinclude文件,除非你又编缉了stdafx.cpp或stdafx.h。
这个技术很精巧,你不这么认为吗?(还要说一句,Microsoft并非是首先采用这种技术的公司,Borland才是。)在这个过程中你必须遵守以下规则:
◎你编写的任何.cpp文件都必须首先包含stdafx.h。
◎如果你有工程文件里的大多数.cpp文件需要.h文件,顺便将它们加在stdafx.h(后部)上,然后预编译stdafx.cpp。
◎由于.pch文件具有大量的符号信息,它是你的工程文件里最大的文件。
如果你的磁盘空间有限,你就希望能将这个你从没使用过的工程文件中的.pch文件删除。执行程序时并不需要它们,且随着工程文件的重新建立,它们也自动地重新建立。
找不到
#include "stdafx.h"是预编译的头文件,但是如果是你自己建的文件一般都没有stdafx.h。如果建立工程的时候你选择console->简单的程序,就会有+ Simple Win32 Console application. Main: aa.cppPrecompiled Header: Stdafx.h and Stdafx.cpp然后你再用你上边的代码就不会有问题了stdafx什么意思?
当我们使用AppWizard来自动生成某些项目的时候,系统会自动把所需要include的头文件在stdafx.h中先include一下,这样,我们只需要直接include这个stdafx.h文件即可.因为同一个项目中的不同源文件CPP都包含相同的include文件,这样,为每个.CPP文件都重复include这些文件就显得很傻了。当然如果你不用MFC的话就不用了。即:在每个.cpp文件中都include stdafx.h 就相当于包含了其他的如iostream.h等文件标签:
相关资讯
- 10-03NBA2KOL2经理模式怎么玩,nba2kol2经理模式有经验吗
- 10-03热血无赖存档位置在哪,热血无赖游戏存档目录在哪里
- 10-03《魔兽世界》怀旧服最强弓介绍,魔兽世界怀旧服猎人弓排行
- 10-03虐杀原形作弊码大全(虐杀原形作弊码)
- 10-03《魔兽世界》辛多雷金杖在哪里刷,《魔兽世界》辛多雷金杖在哪里刷啊
- 10-03问道手游金系怎么加点最好,问道手游金系怎么加点最好1到70
- 10-03大话西游手游拼图任务福泽天下图文攻略,大话西游手游拼图任务详细攻略,大话手游福泽天下技巧
- 10-03怪物猎人ol各类武器派生路线大全,怪猎世界武器派生图鉴
- 10-03《dota2》6.86版本更新全部内容详情解析,dota2 6.88版本
- 10-03QG打野Swift永猎双子千珏S6天赋符文出装一览,"p":true
- 站长推荐
- 热门排行
- 推荐资讯
-
- 04-06艾尔登法环新手开荒武器 艾尔登法环新手开荒武器推荐
- 04-14艾尔登法环月光大剑技能怎么放(艾尔登法环怎样才能发动祈祷技能)
- 04-16阴阳师凋零之梦阵容(阴阳师逐鹿之争怎么过)
- 04-23《樱花校园模拟器》爱情药水获取攻略 爱情药水在哪
- 05-16siemens(含破解激活补丁)64位汉化破解版(siemens西门子)
- 05-17苹果12如何使用搜狗输入法(苹果12怎么设置搜狗输入法)
- 06-07命运冠位指定南瓜攻略(命运冠位指定万圣节攻略)
- 06-17梦幻西游符石合成技巧(梦幻西游符石合成技巧)
- 06-18迷你世界怎么驯服豹子当坐骑(迷你世界怎么驯服豹子当坐骑)
- 06-19苹果itunes怎么用(苹果itunes怎么用)