为什么#include "stdafx.h"不能用#ifndef...来保护

ltolll ltolll 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
书上说,为了防止多次包含同一头文件,可以用:
#ifndef 预定义常量
#define 预定义常量
#include 头文件
#endif
这种方法来实现保护。
为什么别的头文件(我自已写的)都可以这样保护,而"stdafx.h"却不可以呢(一保护就报错:unexpected #endif),难道它不怕被多次包含?
...全文

相关推荐

头文件stdafx.h

stdafx.h下载,解决预编译问题

cola_nn

StdAfx.h头文件下载,编程必备!

预编译头文件通过编译stdafx.cpp生成,以工程名命名,由于预编译的头文件的后缀是“pch”,所以编译结果文件是projectname.pch。 编译器通过一个头文件stdafx.h来使用预编译头文件。stdafx.h这个头文件名是可以在project的编译设置里指定的。编译器认为,所有在指令#include "stdafx.h"前的代码都是预编译的,它跳过#include "stdafx. h"指令,使用projectname.pch编译这条指令之后的所有代码。 因此,所有的MFC实现文件第一条语句都是:#include "stdafx.h"。在它前面的所有代码将被忽略,所以其他的头文件应该在这一行后面被包含。否则,你将会得到“No such file or directory”这样让你百思不得其解的错误提示。

好多软件都在这

stdafx.h文件

C++的头编译文件 stdafx.h在C++中起到的作用是头文件预编译,即把C++工程中使用的MFC头文件预先编译,以后该工程编译时,直接使用预编译的结果,以加快编译速度。C++编译器通过一个头文件stdafx.h来使用预编译头文件。stdafx.h并不是标准C++头文件,与项目的源代码文件存放在同一个文件文件夹下,通过#include"stdafx.h"引用。stdafx的英文全称为:Standard Application Framework Extensions(标准应用程序框架的扩展)

minipuding

stdafx_h头文件

预编译头文件通过编译stdafx.cpp生成,以工程名命名,由于预编译的头文件的后缀是“pch”,所以编译结果文件是projectname.pch。 编译器通过一个头文件stdafx.h来使用预编译头文件。stdafx.h这个头文件名是可以在project的编译设置里指定的。编译器认为,所有在指令#include "stdafx.h"前的代码都是预编译的,它跳过#include "stdafx. h"指令,使用projectname.pch编译这条指令之后的所有代码。 因此,所有的MFC实现文件第一条语句都是:#include "stdafx.h"。在它前面的所有代码将被忽略,所以其他的头文件应该在这一行后面被包含。否则,你将会得到“No such file or directory”这样让你百思不得其解的错误提示。

刘佳歆

为什么要知道.rar加#include stdafx_h_百度

为什么要加#include stdfx——h

guokehfl
评论 11
收藏 已收藏
分享
返回顶部
ltolll
VC/MFC 16,550 成员 421,606 内容