永发信息网

VC中stdafx.h的作用是什么?

答案:6  悬赏:80  手机版
解决时间 2021-03-18 07:17
VC中stdafx.h的作用是什么?
最佳答案
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文件删除。执行程序时并不需要它们,且随着工程文件的重新建立,它们也自动地重新建立。
全部回答
可以改用stdio.h
增加所需的系统库
stdfx.h是一个预处理文件,有这个文件那么程序将自动调用#include
你可以不用这个文件,它只是把类头文件放在一起,然后再cpp里调它就行了,这样可以实现几个类之间的调用
补充:
当我们使用AppWizard来自动生成某些项目的时候,系统会自动把所需要include的头文件在stdafx.h中先include一下,这样,我们只需要直接include这个stdafx.h文件即可.因为同一个项目中的不同源文件CPP都包含相同的include文件,这样,为每个.CPP文件都重复include这些文件就显得很傻了。当然如果你不用MFC的话就不用了。即:在每个.cpp文件中都include stdafx.h 就相当于包含了其他的如iostream.h等文件
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
海丰美食怎么去啊,有知道地址的么
为什么我华为手机更新5.o系统手机充不了电了,
二十多岁的年轻人需要哪些保险
SAI怎么建横向文本
!苹果手机越狱完后没电 开不开机了...充不进
请教一下 联想 旭日C467的本本 可以升级内存
铅笔头扎进肉里,铅弄出来了,可是留下的铅印
微信红包透视挂下载源
和匪我思存,雪灵之一样的文笔好的,虐文写的
平通漂流这个地址在什么地方,我要处理点事
关节镜十字韧带修复两个月可以游泳么
宁波哪里有情侣餐厅适合初恋小情侣?
新逍客2.0的加油门怎么会有涡轮的声音
以公司拖欠工资为由辞职,公司不批怎么办
我快要结婚了,可是心里还有点惦记前女友,该
推荐资讯
笑声传奇第2期白凯南的怎么看不了?直接一开始
含税出厂价向FOB价格转化
邦程机动车服务有限公司这个地址在什么地方,
古代皇帝出巡身边有个人举着黄色的大帐是什么
凌渡1.4tsⅠ加油必须加95号油吗?
青岛开发区佳视明眼镜店法人代表是谁
2.5(x-4)=3.5+x解方程
新君威换完方向机怎么调试
击中附加诅咒用什么技能触发好
广州大型打印耗材批发市场,具体 位置,.?
商业层高超过多少时面积按两层计算
用天平和弹簧秤分别在地球和月球上称同一个物
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?