还有pch,project setting里面又有/Yc /Yu的设置开关。最好能详细一些。大量送分!!!!
解决方案 »
- 懂COM编程的帮我看看这里是怎么回事啊?谢谢了
- 学校准备建个软件机房,大家提提意见看,,,
- 一个用VC++作ADO数据库编程的问题,很急的,一个多月了,还没解决,搞得我都有点厌生了!有时学VC真的想死。
- 请问怎么使用gethostbyname函数?
- 大侠,谁知道winocc.cpp是什么,还有assert是干嘛的?
- 视频采集卡谁了解它的工作原理!!相告谢谢!
- 请教Ftp有关
- 我有一组combo,ID从0-4,我想用一个函数处理所有combo的SelChange事件,怎样设置事件处理?
- 各位大哥大姐小弟小妹,HELP ME
- 谁能提供有关3DMAX PLUGIN的FILE EXPORT相关文献,不胜感激!!!!
- 如何得到光标的屏幕坐标?
- 如何在CRichEdit和CEdit中获得光标的位置????
stdafx.h中包含以下一些语句,其主要目的是提高编译的速度,节省编译时间.
比如下面三句语句的意思是:
#if !defined //如果没有定义下面这一句(AFX_TEXTPROGRESSCTRL_H__4C78DBBE_EFB6_11D1_AB14_203E25000000__INCLUDED_)
#define //就定义这一句
AFX_TEXTPROGRESSCTRL_H__4C78DBBE_EFB6_11D1_AB14_203E25000000__INCLUDED_
//否则结束,即如果定义过了,就结束
#endif//最后应该还有这一句,这样做的主要目的是,节省你第二次编译的时间,你应该有感觉,在调试一个VC程序时,第一次编译的时间比较长,而第二次编译时间就很短了!就是上面这些语句的作用另外,在头文件的这几句
#if _MSC_VER >= 1000
#pragma once
#endif
这三句是一组pragma条件预编译语句,要求当进行编译时,本文件只能打开一次
#if _MSC_VER >= 1000 中的 _MSC_VER 是微软C++编译器提供的若干预定义宏的一种,用它表示编译的版本,Mircsoft Visual C++6.0被定义为1200,所以满足 _MSC_VER >= 1000的条件.在VC++ 6.0的帮助文件中指出,pragma可以以条件语句的形式提供一种新的预处理功能,向编译器提供某些规定的编程信息.C和C++认可许多这样的语句
#pragma *;比如#pragma warning等,
语句#pragma once 是其中的一种,它告诉编译器,项目进行编译时只能将本文件包含(打开)一次。再一句 #define VC_EXTRALEAN 是一个定义语句,它的功能是删去头文件中那些用不着的资料,以减少头文件的大小,提高编译速度。这样可以提高编译的速度!
/yu<filename> 这个设置开关就是,表明使用已经预编译好的头文件。 <filename>指的是预编译好的头文件VC IDE将这个头文件名字默认为stdafx.h
在这里,Precomplier 选择了 Use ………一项,头文件是我们指定创建PCH 文件的stdafx.h文件。事实上,这里是使用工程里的设置,/Yu”stdafx.h”。 这样,我们就设置好了预编译头文件。也就是说,我们可以使用预编译头功能了。以下是注意事项:1):如果使用了/Yu,就是说使用了预编译,我们在每个.cpp文件的最开头,我强调一遍是最开头,包含 你指定产生pch文件的.h文件(默认是stdafx.h)不然就会有问题。如果你没有包含这个文件,就告诉你Unexpected file end. 如果你不是在最开头包含的,你自己试以下就知道了,绝对有很惊人的效果…..2)如果你把pch文件不小心丢了,根据以上的分析,你只要让编译器生成一个pch文件就可以了。也就是说把 stdafx.cpp(即指定/Yc的那个cpp文件)从新编译一遍就可以了。当然你可以傻傻的 Rebuild all。简单一点就是选择那个cpp文件,按一下Ctrl + F7就可以了。方法二。自动使用很简单只要指定/YX就可以了。或者在上图中选择Automatic………就可以了。注意的事情是如果你指定了/Yc /Yu的话,/Yx是会被忽略的。前者的优先级别高一些。-----------------
发错了!sorry~