vc中stdafx作用

 
Windows和MFC的include文件都非常大,即使有一个快速的处理程序,编译程序也要花费相当长的时间来完成工作。因为同一个项目中的不 同.CPP源文件都包含相同的include文件,这样,为每个.CPP文件都重复include这些文件就显得很傻了。为避免这种浪 费,AppWizard和Visual C++编译程序一起进行工作,如下所示:
◎AppWizard建立了文件stdafx.h,该文件包含了所有当前工程文件需要的MFC include文件。且这一文件可以随被选择的选项而变化。
◎AppWizard然后就建立stdafx.cpp。这个文件通常都是一样的。
◎然后AppWizard就建立起工程文件,这样第一个被编译的文件就是stdafx.cpp。
◎当VisualC++编译stdafx.cpp文件时,它将结果保存在一个名为stdafx.pch的文件里。(扩展名pch表示预编译头文件。)
◎当VisualC++编译随后的每个.cpp文件时,它阅读并使用它刚生成的.pch文件。Visual C++不再分析Windows include文件,除非你又编缉了stdafx.cpp或stdafx.h。
在这个过程中你必须遵守以下规则:
◎你编写的任何.cpp文件都必须首先包含stdafx.h。
◎如果你有工程文件里的大多数.cpp文件需要.h文件,顺便将它们加在stdafx.h(后部)上,然后预编译stdafx.cpp。
由于.pch文件具有大量的符号信息,它是你的工程文件里最大的文件。
如果你的磁盘空间有限,你就希望能将这个你从没使用过的工程文件中的.pch文件删除。执行程序时并不需要它们,且随着工程文件的重新建立,它们也自动地重新建立。

         对于加入到工程中的cpp文件,应该检查是否在第一行显式的包含stdafx.h头文件,在这个#include "stdafx.h"行前面的所有代码将被忽略,所以其他头文件应该在这一行后面被包含。
对于.c文件,由于不能包含stdafx.h,因此可以通过Project settings把它的预编译头设置为"不使用",方法是:
弹出Project settings对话框
选择C/C++ Category
选择Precompilation Header
选择不使用预编译头。

使用小记:将每个.cpp文件需要的.h文件include在stdafx.cpp中,这些.h文件可以是自己定义的。另外在其他.h文件需要stdafx.cpp中的头文件时不需要引用这些头文件了,也不需要引用#include "stdafx.h"

注:AFX:---AFX is an abbreviation for a group. The MFC group was originally called the "Application Framework group" during the inception of MFC.However, X doesn‘t stand for anything other than sounding cool. The original AFX group was renamed to MFC long ago. There is no current AFX group. But the "AFX" hasn‘t been changed to "MFC" for the compatibility

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: VC 6.0 stdafx.h 是 Visual C++ 6.0 的一个预编译头文件,用于加快编译速度和减少编译时间。然而,VC 6.0 早已过时,目前已不再维护,因此您可能在网上找不到官方渠道提供的 stdafx.h 下载。如果您仍然使用 VC 6.0,建议您参考官方文档或相关论坛来了解如何使用 stdafx.h 文件,或者考虑升级到现代化的版本并使用新的编译器和库。另外,网上存在一些第三方网站或平台可以提供相关下载,但其安全性和真实性无法保证,因此需谨慎使用。 ### 回答2: VC 6.0 stdafx.h是Visual C++ 6.0版本的一个预编译头文件,在开发大型的Windows程序时使用频率很高。在编译一个大型的项目时,由于头文件过多,导致编译时间很长,为了提高编译速度,VC 6.0引入了预编译技术,将一些常用的头文件处理成一个预编译头文件,可以加快编译速度。 如果需要下载VC 6.0 stdafx.h文件,首先需要安装Visual C++ 6.0开发环境。安装完成后,在你的项目创建一个stdafx.h文件,并在文件添加你需要的头文件。编译器会将这些头文件编译成一个预编译头文件,提高编译速度。 在使用VC 6.0 stdafx.h时需要注意以下几点: 1. stdafx.h必须放在源文件的最上面,不能放在任何#include指令的前面。 2. 处理stdafx.h文件时,编译器会使用预编译头文件的结构体、函数等信息来加快编译速度。因此在stdafx.h定义的全局变量、宏定义等没有必要被其他模块包括,因为编译器在编译时读取了预编译头文件的信息。 3. 可以通过"#pragma once"指令来避免重复包含头文件。在VC 6.0,"#pragma once"指令可以加快编译速度,避免重复包含头文件。 总之,VC 6.0 stdafx.h是Visual C++ 6.0版本的一个预编译头文件,可以加快编译速度。使用时需要注意上述几点,以获得更好的编译效率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值