初学者的问题?请指教?
#include "stdafx.h"的作用是什么? 文件 "stdafx.h"是如何产生的?好象是自动产生的,那么何时自动产生呢? 问题点数:20、回复次数:10Top
1 楼nirovf(司马缸-砸光 之 乡村程序员)回复于 2003-02-04 17:07:45 得分 3
MFC作为一种编程框架里面蕴涵了很多复杂的机制,欲想了解里面的东西可以读一下侯捷的〈〈深入浅出mfc〉〉!Top
2 楼xinyulou(心雨楼)回复于 2003-02-04 17:08:31 得分 2
#include 头文件Top
3 楼jasonloo(师爷)回复于 2003-02-04 17:24:11 得分 5
当你采用VC开发平台的向导工具生成MFC应用程序时,会根据你在向导每一步中所选择的选项,挑选你所用到的相应的类库,并将相应的头文件定义放在“stdafx.h”文件中。当然如果你对MFC很熟悉后,也可直接在改文件中添加需要的头文件。Top
4 楼dszch(chen-hui)回复于 2003-02-05 11:29:44 得分 0
为什么有的VC工程里有“stdafx.h”文件,而有的工程里没有??Top
5 楼zhaolaoxin()回复于 2003-02-05 11:38:20 得分 2
只要是利用MFC类库,或是用向导选择MFC应用程序时,VC会自动生成STDAFX.H头文件,其中包含MFC类的头文件,简化用户编程。Top
6 楼efanl(传说中的一凡……)回复于 2003-02-05 11:44:13 得分 8
这是precompiled header file。
是VC为减少编译负担用的。VC建议把你的project中的源程序文件所要大量引用,但是又很少改动的头文件放到stdafx.h头文件中,一次编译成.pch文件,以后就不用再重复编译了。所以里面都放那些系统提供的头文件。对于小项目来说没有必要,至少我现在还不觉得编译慢:-)
相反如果使用不当,会引起不少麻烦。比如最常见的是"Unexpected end of file"错误。如果你没有在.cpp文件的第一行加上#include "stdafx.h"的话,就会出现这个错误。还有一个就是提示找不到.pch文件的错误,如果初用VC的话,很难了解这是什么。
取消的办法是在Project->Settings...(或Alt + F7)对话框选择C/C++->Precompiled headers,选上Not using就行了。Automatic也是比较方便的^_^这里讲的是VC6的设置,VC7稍有不同,不过也很容易找到(这台机器上没有,没法写出来~~~)Top
7 楼dszch(chen-hui)回复于 2003-02-05 23:28:21 得分 0
谢谢!Top
8 楼bullfinch(night_fly)回复于 2003-02-05 23:31:13 得分 0
同意efanl(传说中的一凡……)Top
9 楼dszch(chen-hui)回复于 2003-02-12 02:46:46 得分 0
如何知道自己的程序都要加入那些头文件?Top
10 楼dszch(chen-hui)回复于 2003-03-03 01:35:58 得分 0
upTop




