一、C++中stdafx.h和stdio.h的区别

stdio.h是C/C++中标准的头文件,这个文件是系统头文件,由编译器厂商提供。

stdafx.h是vc生成工程是生成的用户头文件,属于工程的一部分,stdafx.h是vc工程的预编译头文件。用于包含工程中每个都文件都要包含的文件。用于加快编译速度和整理代码结构

stdafx.h,C++ 中stdafx.h是什么意思

比如工程由四个cpp文件组成

a.cpp

b.cpp

c.cpp

d.cpp

stdafx.h,C++ 中stdafx.h是什么意思

每个cpp文件都要包含

stdio.h

stdlib.h

windows.h

那么可以把

#include<stdio.h>

#include<stdlib.h>

#include<windows.h>

放到stdafx.h中

而每个cpp只需要

#include"stdafx.h"即可

这样在便于维护代码,配合上编译器的预编译功能,还可以加快编译速度

如果不喜欢vc自动生成stdafx.h

在生成工程时选中empty project即可

二、C++ 中stdafx.h是什么意思

C++中stdafx.h的英文全称为:Standard Application Fram Extend,中文名为:头文件预编译。

stdafx.h在C++中起到的作用是:把C++工程中使用的MFC头文件预先编译,以后该工程编译时,直接使用预编译的结果,这样可以加快编译速度。

C++编译器通过一个头文件stdafx.h来使用预编译头文件。stdafx.h这个头文件名可以在project的编译设置里指定。

编译器默认所有在指令"stdafx.h"前的代码都是预编译,它跳过"stdafx. h"指令,使用projectname.pch编译这条指令之后的代码。

扩展资料

Windows和MFC的include文件都非常大,即使有一个快速的处理程序,编译程序也要花费相当长的时间来完成工作。

由于每个.CPP文件都包含相同的include文件,为每个.CPP文件都重复处理这些文件就显得很傻了。为避免这种浪费,AppWizard和VisualC++编译程序一起进行工作,如下所示:

1、AppWizard建立了文件stdafx.h,该文件包含了所有当前工程文件需要MFCinclude文件。且这一文件可以随被选择的选项而变化。

2、AppWizard然后就建立stdafx.cpp。这个文件通常都是一样的。

3、然后AppWizard就建立起工程文件,这样第一个被编译的文件就是stdafx.cpp。

4当VisualC++编译stdafx.cpp文件时,它将结果保存在一个名为stdafx.pch的文件里。(扩展名pch表示预编译头文件。)

5、当VisualC++编译随后的每个.cpp文件时,它阅读并使用它刚生成的.pch文件。VisualC++不再分析Windowsinclude文件,除非你又编缉了stdafx.cpp或stdafx.h。

三、怎么打开stdafx.h文件

1、当无法打开源文件是,应该首先,看下 stdafx.h文件无法打开的原因。如下图。

2、知道了原因就经验接住cfree软件辅助打开。接着找到cfree5的快捷方式,然后鼠标单击右键,打开文件位置。

3、接下来进进入了cfree文件夹里面,在cfree文件夹里面找到“mingw”这个子文件夹。

4、然后找到“include”这个文件夹之后,这个是存放头文件的文件夹。

5、打开文件夹之后可以看到这里并没有stdafx.h这个头文件,这就是无法打开源文件的原因。接下来就可以修复了。

6、现在就可以解决问题了,首先网上下载一个stdafx.h头文件就可以了。

7、把从网上下载的stdafx.h头文件放到对应的文件夹里面就可以了。

8、完成上一不操作后再一次打开stdafx.h后。如图所示,完美解决了无法打开的问题,