预编译头文件:stdafx.cpp,stdafx.h

来源:互联网 发布:最新网络最红的歌曲 编辑:程序博客网 时间:2024/05/17 23:32

摘自《VC++ 编程指南》

预编译头文件:stdafx.cpp,stdafx.h

这两个文件用于建立一个预编译的头文件xxxproject.pch和一个预定义的类型文件stdafx.obj。由于MFC体系结构非常大,包含许多头文件,如果每次都编译的话比较费时。因此,我们把常用的MFC头文件都放在stdafx.h中,如afxwin.h、afxext.h、afxdisp.h、afxcmn.h(在控制台程序中则自动包含<iostream>...)等,然后让stdafx.cpp包含这个stdafx.h文件。这样,由于编译器可以识别哪些文件已经编译过,所以stdafx.cpp就只编译一次,并生成所谓的预编译头文件(因为它存放的是头文件编译后的信息,故名)。如果读者以后在编程时不想让有些MFC头文件每次都被编译,也可以将它加入到stdafx.h中。采用预编译头文件可以加速编译过程。

如果不想用stdafx.h文件(想自己手工添加<iostream>...这样的文件),则可以将其去掉,去掉的方法(实际上是一个编译开关):

在VC6.0中。有一个编译选项/Yu"stdafx.h"
去掉这个就可以不包含了

VC2005中
选择"项目"project settings --> c/c++ -->预编译头-->创建/使用预编译头(选择"不使用预编译头")

如果这个开关处于"使用预编译头"的状态,则每个.cpp文件必须有#include "stdafx.h"指令

原创粉丝点击