gpt4 book ai didi

c++ - 为什么 Visual Studio C++ 即使在不需要它的文件上也需要包含 "StdAfx.h"?

转载 作者:可可西里 更新时间:2023-11-01 17:10:02 25 4
gpt4 key购买 nike

我了解预编译 header 对“#include “StdAfx.h”的作用,是的,我知道我可以关闭它们。但这不是我的问题。

如果您使用的是预编译头文件,Visual C++ 需要每个 cpp 文件以#include "StdAfx.h",即使是未使用 StdAfx.h 中任何头文件的文件。如果您忘记在一个文件中包含 StdAfx.h,则会出错。但为什么?显而易见的方法只是“如果您包含 StdAfx.h,那么该文件将使用它,但如果您忘记包含它,那么这些头文件将不会被包含。”我不明白为什么 VC++ 在不需要时会要求您包含 StdAfx.h。似乎将其视为普通头文件对他们来说会更容易。

为什么需要这样做有什么充分的理由吗?

最佳答案

只是对 Marks 答案的补充。事实上,您不必在所有项目源文件中手动包含 stdafx.h。您可以使用项目选项 Forced Include Files: enter image description here

这样 stdafx.h 将自动包含在您的所有源代码中。

关于c++ - 为什么 Visual Studio C++ 即使在不需要它的文件上也需要包含 "StdAfx.h"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41710453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com