关于StdAfx.h和StdAfx.cpp

http://www.cplusplus.com/articles/2z86b7Xj/

https://msdn.microsoft.com/en-us/library/h552b3ca.aspx

https://en.wikipedia.org/wiki/Precompiled_header

http://stackoverflow.com/questions/676385/stdafx-h-when-do-i-need-it#

时间: 2024-10-22 17:00:46

关于StdAfx.h和StdAfx.cpp的相关文章

stdafx.h、stdafx.cpp两个文件的作用

stdafx.h.stdafx.cpp是干什么用的?为什么我的每一个cpp文件都必须包含stdafx.h? 这两个文件用于建立一个预编译的头文件.PCH和一个预定义的类型文件STDAFX.OBJ. 由于MFC体系结构非常大,包含许多头文件,如果每次都编译的话比较费时.因此,我们把常用的MFC头文件都放在stdafx.h中,如afxwin.h.afxext.h.afxdisp.h.afxcmn.h等,然后让stdafx.cpp包含这个stdafx.h文件.这样,由于编译器可以识别哪些文件已经编译过

C++预编译头文件(#include "stdafx.h")

来源:http://blog.sina.com.cn/s/blog_4ac766c00100qsbd.html http://blog.csdn.net/txh0001/article/details/7031058 作为一个C++菜鸟,在预编译头文件(#include "stdafx.h")上纠结了很久,今天打算彻底弄明白它. 1.预编译头文件的概念 所谓的预编译头文件,其实我们很熟悉的,这里的头文件(Microsoft Visual C++中)一般的说就是我们常见的stdafx.h

C++预编译头文件:stdafx.h

其实在我们的生活中,很多东西都是这样,出现一次两次,而往往被我们忽略.碰见多次,终有一天被我们注意到,然后想弄个明白.又或许是注意到了,然而也并没有要去弄个明白的心.终有一天它给你困惑,而不得不去弄明白.不管stdafx.h你有没有注意到,不管stdafx.h有没有给你困惑,现在我们就来了解一下预编译头. 什么是预编译头 预编译头(precompiled header)是程序设计时把头文件编译为中间格式,以节约在开发过程中编译器反复编译该头文件的开销.——来自<维基百科> 可见预编译头的意义就

1.在VC编译器下面为什么每个头文件以及源文件都要包含“stdAfx.h”,那么stdAfx.h中到底存放了什么,用来做什么?

我们知道在windows平台下面很多的文件后缀名中都含有Afx,其实Afx是微软公司的一个技术研发团队名称,vc下的“stdAfx.h”和“stdAfx.cpp”文件就是有他们所研发出来的,为什么要这么做呢,原因是当我们在一个工程下面建立多个头文件和源文件并且这些头文件和源文件 都包含了系统(比如windows.h)文件时那么在编译阶段就会发生非常庞大的代码展开(因为系统文件一般都比较庞大)在这些每一个包含了系统文件的头文件和源文件中去多次展开无疑是效率上的灾难,那么有没有办法只进行一次展开呢,

预编译头文件 StdAfx.h

预编译头文件: 最常见的使用场景就是 StdAfx.h 文件,在这个文件中包含常用的头文件,比如windows.h,cstdio,string,别的 .cpp 文件去包含 StdAfx.h 头文件.编译的时候 StdAfx.h 尽管被多个 .cpp 包含,但只会编译一次.加快了编译速度. StdAfx.cpp 专门用来生成预编译文件,StdAfx.cpp 里只有一行代码 #include "StdAfx.h", 编译 StdAfx.cpp 会产生一个 .pch 文件.别的 .cpp 文

VC++编译器预编译头功能(stdafx.h)原理与实践

1 现象 在使用VC++应用向导生成的源码框架时,无论是MFC应用程序,还是Win32窗体程序,都会默认启用"预编译头"功能,自动生成stdafx.h和stdafx.cpp这两个文件.以后向项目中增加源文件时,也自动对该源文件启用"预编译头"功能.要求必须在.cpp文件开头加入 #include "stdafx.h" ,否则编译器就会报错:fatal error C1010:在查找预编译头时遇到意外的文件结尾.是否忘记了向源中添加"#i

错误描述:fatal error C1010: 在查找预编译头时遇到意外的文件结尾。是否忘记了向源中添加“#include &quot;stdafx.h&quot;”?(转)

错误分析: 此错误发生的原因是编译器在寻找预编译指示头文件(默认#include "stdafx.h")时,文件未预期结束.没有找到预编译指示信息的头文件"stdafx.h".    (因为工程中的每个cpp文件属性默认都是使用预编译头(/YU)的(选择了使用,就要在源文件中显式写上#include),但是添加的第三方文件并没有 #include "stdafx.h" 预编译指示头,所以编译器在此cpp文件中一直到末尾都没有找到它)    我的这

解决VS2010子目录中的.cpp文件引用上一级目录的stdafx.h找不到定义的问题

Source目录 |-- stdafx.h |--Util目录 |--Util.h |--Util.cpp 现在的发现Util.cpp各种变量的定义全是红色波浪线,找不到定义,但是却能够编译过 问题就出在Util.cpp中的第一行 #include "stdafx.h" 其实该路径是查找不到对应文件的,因此要将stdafx.h引入到工程当中来,具体方法是: Properties -> Configuration Properties -> C/C++ -> Gener

visual c++ 中的stdafx.h头文件的作用

stdafx.h VC工程里面经常见到stdafx.h这个头文件,以前也没有特别注意,但是这个文件用不好经常会出错,所以就GOOGLE了一下,总算是弄清楚了... stdafx的英文全称为:Standard Application Framework Extensions(标准应用程序框架的扩展). 所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H.Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使用预编译的结果.这样可