- 1、本文档共8页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
浅谈VisualC中的预编译.doc
浅谈Visual C++中的预编译
所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H、Afxwin.H)
预先编译,以后该工程编译吋,不再编译这部分尖文件,仅仅使用预编译的结果。这样可以加快编译速度, 节省时间。
一、预编译义?文件说明 所谓头文件预编译,就是把一个工程(Project)屮使用的一些MFC标准尖文件(如Windows.H、Afxwin.H) 预先编译,以后该工程编译时,不W编译这部分头文件,仅仅使用预编译的结果。这样W以加快编译速度, 节省时间。
预编译头文件通过编译stdafx.cpp生成,以工程名命名,由于预编译的头文件的后缀是upch,所以编译 结果文件是 projectname.pch。
编译器通过一个爻文件stdafx.h米使用预编译尖文件。stdafx.h这个尖文件名是可以在project的编译 设置里指定的。编译器认为,所冇在指,#include stdafx.h前的代码都是预编译的,它跳过include stdafx. h指令,使用projectname.pch编阼这条指令之后的所冇代码。
因此,所有的CPP实现文件第一条语句都是:^include stdafx.h。
另外,每一个实现文件CPP都包含了如下语句:
#ifdef .DEBUG
#undef THIS_FILE
static char THIS_FILE[] = 一FILE一;
#endif
这是表示,如采生成调试版本,要指示当前文件的名称。_FILE_是-个宏,在编译器编译过程中给它 赋值为当前正在编译的文件名称。
VC.NET默认情况下使用预编译头(/Yu),不明白的在加入新.h文件后编译时总出现fatal error C1010: 在奔找预编時头指令时遇到意外的文件结尾的错误。解决7/法足在include头文件的地方加上的nclude stdafx.h”,或者打项目属性,找到C/C++〃文件夹,单击预编译头〃属性页。修改创逑/使用预编译头〃 属性为不使川预编译头。
二、C/C++头文件一览
//设定插入点 //字符处理 //定义错误码 //浮点数处理 //文件输入/输出 //参数化输入/输出 //数据流输入/输出 //定义各种数裾类型最值常S
//设定插入点 //字符处理 //定义错误码 //浮点数处理 //文件输入/输出 //参数化输入/输出 //数据流输入/输出 //定义各种数裾类型最值常S //定义木地化函数 //定义数学函数 //定义输入/输出函数 //定义杂项函数及内存分配函数 //字符串处理
#include assert.h #include ctype.h #include errno.h #include float.h #include fstream.h #include iomanip.h #include iostream.h #include〈limits.h #include locale.h #include math.h #include stdio.h #include stdlib.h #include〈string.h
#include strstrea.h
//基于数组的输入/输出
#include time.h
//定义关于吋间的阐数
#include wchar.h
//宽字符处理及输入/输出
#include wctype.h
//宽字符分类
标准C++ (同上的不再 )
^include〈algorithm〉
//STL通用党法
#include bitset
//STL位集容器
#include cctype
#include cerrno
#include clocale
#include cmath
#include〈complex〉
^include cstdio
#include cstdlib
#include cstring
^include ctime
//复数类
#include deque
//STL双端队列容器
#include〈exception〉
#include fstream
//异常处理类
#include〈functional〉
//STL定义运算函数(代?运算符)
#include limits
#include list
//STL线性列表容器
#include map
#include iomanip
//STL映射容器
#include ios
//基本输入/输出支持
#include iosfwd
输入/输出系统使用的前置声明
#include iostream
#include istream
//:基本输入流
#include costream〉
//基木输出流
#incl
文档评论(0)