【发布时间】:2016-05-16 15:36:04
【问题描述】:
来自here,据说:
对于
#include "filename",预处理器在相同的搜索 目录作为包含指令的文件。这种方法是 通常用于包含程序员定义的头文件。对于
#include <filename>,预处理器在实现中搜索 依赖方式,通常在由预先指定的搜索目录中 编译器/IDE。此方法通常用于包含标准库 头文件。
虽然this wiki link暗示stdafx.h是visual studio IDE预先设计的头文件
stdafx.h 是一个文件,由 Microsoft Visual Studio IDE 向导生成, 描述标准系统和项目特定的包含文件 经常使用但几乎不会改变。
兼容的编译器(例如,Visual C++ 6.0 和更高版本)将 预编译此文件以减少总体编译时间。 Visual C++ 将 在源代码中的#include "stdafx.h" 之前不编译任何东西 文件,除非编译选项 /Yu'stdafx.h' 未选中(通过 默认);它假定源代码中的所有代码都包括在内 行已经编译。
stdafx.h 中的 AFX 代表应用程序框架扩展。 AFX 是 Microsoft Foundation Classes 的原始缩写 (MFC)。虽然默认使用名称 stdafx.h,但项目可能 指定替代名称。
然后
为什么我们使用#include "stdafx.h" 而不是#include <stdafx.h>?
【问题讨论】:
-
也许 where Visual Studio 默认生成该标题可能有助于回答您自己的问题。
标签: c++ visual-studio-2010 include header-files directive