下面是我对在使用VS2010中所遇到的问题进行的总结,并参考网上一些信息进行解决。
一,关于stdafx.h的问题
1,什么是stdafx.h?
stdafx.h主要放置一个工程(Project)中使用的一些MFC标准头文件(如Windows.H、Afxwin.H),然后进行预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使用预编译的结果。这样可以加快编译速度,节省时间。
2,stdafx.h放置什么内容?
3,如何设置预编译?
我们知道一个头文件是不能编译的。所以我们还需要一个cpp文件来生成.pch 文件。这个文件默认的就是StdAfx.cpp。在这个文件里只有一句代码就是:#include “Stdafx.h”。原因是理所当然的,我们仅仅是要它能够编译而已?D?D?D也就是说,要的只是它的.cpp的扩展名。我们可以用/Yc编译开关来指定StdAfx.cpp来生成一个.pch文件,通过/Fp编译开关来指定生成的pch文件的名字。
在 项目-》属性-》配置属性-》C/C++-》预编译头 中进行设置整个项目的预编译头;
单个文件也可以进行设置以决定是否使用预编译头,CPP文件-》属性-》配置属性-》C/C++-》预编译头进行单个文件的设置。
4,关于/Yc 和 /Yu
/Yc:指示编译器创建预编译头文件 (.pch),该文件表示在某一时刻的编译状态。
/Yu:指示编译器使用当前编译中现有的预编译头 (.pch) 文件。
详情见:http://msdn.microsoft.com/zh-cn/library/b4w02hte%28v=vs.90%29.aspx