从here,据说:为什么我们使用`#include“stdafx.h”`而不是`#include <stdafx.h>`?
对于#include“文件名”,在同一 目录包含的指令文件的预处理器搜索。此方法通常用于包含程序员定义的头文件,其格式为 。
对于#include预处理程序在实现中搜索 从属方式,通常在由 编译器/ IDE预先指定的搜索目录中。此方法通常用于包含标准库 头文件。
虽然this wiki link表明stdafx.h
是一个头文件由visual studio IDE
stdafx.h中预先设计是一个文件,由Microsoft Visual Studio IDE向导生成, 描述两个标准体系和具体项目包括经常使用但几乎不会改变的文件 。
兼容的编译器(例如,Visual C++ 6.0和更新版本)将 预编译该文件以减少整体编译时间。除非编译选项/Yu'stdafx.h未被选中(默认为 ),否则Visual C++将 不会在源文件中的#include“stdafx.h”之前编译任何内容。它假定源代码中的所有代码都已经编译完成并且包含该行 。
stdafx.h中的AFX代表Application Framework eXtensions。 AFX 是Microsoft Foundation Classes (MFC)的原始缩写。尽管默认情况下使用名称stdafx.h,但项目可能会指定一个替代名称 。
然后
为什么我们使用的#include "stdafx.h"
代替#include <stdafx.h>
?
也许**其中** Visual Studio默认生成该标题可能有助于回答您自己的问题。 – WhozCraig