在VS中,stdafx.h
和stdafx.cpp
是由模板生成的一对文件。它们位于与其它文件相同的目录下。你可能需要为你的项目专门修改它。因此,我们使用""
而不是<>
,正是因为它与你描述的第一个引用在同一目录中。
...\testMEX\testMEX\Debug
和...\testMEX\testMEX
中有stdafx.obj
、stdafx.h
和stdafx.cpp
。其中testMEX
是我的控制台应用项目的名称。 - Sepideh AbadpourC:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\VCWizards\AppWiz
中的文件stdafx.h
、stdafx.cpp
、handler_stdafx.h
和handler_stdafx.cpp
;2-在目录C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Extensibility Projects
的不同部分中的文件Stdafx.h
、StdAfx.h
、Stdafx.cpp
和StdAfx.cpp
;3-在目录C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\atlmfc
的不同子文件夹(include、lib、src)中的文件stdafx.h
和stdafx.cpp
;4-文件stdafx.h
。 - Sepideh AbadpourWin7x64
机器中位于C:\Program Files (x86)\Microsoft Visual Studio 10.0\DIA SDK\Samples\DIA2Dump
目录下的stdafx.cpp
全都是模板。当我们在Visual Studio 2010
中开始一个新项目时,会基于项目类型创建特殊的stdafx.h
文件,并使用这些模板。 - Sepideh Abadpourstdafx.h
都不同。正如你引用的那样,#include ""
会搜索当前项目的路径,这也是 stdafx.h
的位置。#include <stdafx.h>
将是一个巨大的错误,因为它必须位于库路径(所有标准库标头都位于此处)。这意味着您不应该修改它,或者它总是保持不变,但对于不同的项目来说永远不是相同的。#include <name>
保留给标准库,而 #include "name.h"
则用于用户定义的文件。这里,“用户”可以是任何实现非标准特性的开发人员,例如针对特定编译器包的开发人员。