"stdafx.h"文件是干嘛的?我新建的CPP文件为什么不include这个文件就build不过呢?

luanqibazao 2009-10-21 03:48:08
如题。
...全文
185 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
山伟 2009-10-21
  • 打赏
  • 举报
回复
所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H、Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使用预编译的结果。这样可以加快编译速度,节省时间。
  预编译头文件通过编译stdafx.cpp生成,以工程名命名,由于预编译的头文件的后缀是“pch”,所以编译结果文件是projectname.pch。
  编译器通过一个头文件stdafx.h来使用预编译头文件。stdafx.h这个头文件名是可以在project的编译设置里指定的。编译器认为,所有在指令#include "stdafx.h"前的代码都是预编译的,它跳过#include "stdafx. h"指令,使用projectname.pch编译这条指令之后的所有代码。
  因此,所有的MFC实现文件第一条语句都是:#include "stdafx.h"。
muzizongheng 2009-10-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 luanqibazao 的回复:]
是会用到MFC的类库吧?
[/Quote]

恩包含了一点, 你可以看看.h文件内容啊.
luanqibazao 2009-10-21
  • 打赏
  • 举报
回复
是会用到MFC的类库吧?
  • 打赏
  • 举报
回复
预编译头
加快编译速度,你可以在工程选项中去掉这个编译选项。
康斯坦汀 2009-10-21
  • 打赏
  • 举报
回复
看看它的内容你就知道了。它包含了几个.H文件,是包含了所有MFC的定义。
如果你用MFC。就必须包含有这个文件,不用MFC,则不用。

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧