当前位置:首页 » 编程软件 » 反馈式编译

反馈式编译

发布时间: 2023-12-18 17:09:55

‘壹’ 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编译这条指令之后的代码。

(1)反馈式编译扩展阅读

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。

‘贰’ [C语言] 运行C程序的步骤

(1)上机输入和编辑源程序。通过键盘向计算机输入程序,如发现有错误,要及时改正。最后将此源程序以文件形式存放在自己指定的文件夹内(如果不特别指定,一般存放在用户当前目录下),文件用.c作为后缀,生成源程序文件,如f.c。

(2)对源程序进行编译,先用C编译系统提供的“预处理器”(又称“预处理程序”或“预编译器”)对程序中的预处理指令进行编译预处理。例如,对于#include<stdio.h>指令来说,就是将stdio.h头文件的内容读进来,取代#include<stdio.h>行。由预处理得到的信息与程序其他部分一起组成一个完整的、可以用来进行正式编译的源程序,然后由编译系统对该源程序进行编译。
编译的作用首先是对源程序进行检查,判定它有无语法方面的错误,如有,则发出“出错信息”,告诉编程人员认真检查改正。修改程序后重新进行编译,如果还有错,再发出“出错信息”。如此反复进行,直到没有语法错误为止。这时,编译程序自动把源程序转换为二进制形式的目标程序(在Visual C++中后缀为.obj,如f.obj)。如果不特别指定,此目标程序一般也存放在用户当前目录下,此时源文件没有消失。
在用编译系统对源程序进行编译时,自动包括了预编译和正式编译两个阶段,一气呵成。用户不必分别发出二次指令。
(3)进行连接处理。经过编译所得到的二进制目标文件(后缀为.obj)还不能供计算机直接执行。前面已说明:一个程序可能包含若干个源程序文件,而编译是以源程序文件为对象的,一次编译只能得到与一个源程序文件相对应的目标文件(也称目标模块),它只是整个程序的一部分。必须把所有的编译后得到的目标模块连接装配起来,再与函数库相连接成一个整体,生成一个可供计算机执行的目标程序,称为可执行程序(executive program),在Visual C++中其后缀为.exe,如f.exe。
即使一个程序只包含一个源程序文件,编译后得到的目标程序也不能直接运行,也要经过连接阶段,因为要与函数库进行连接,才能生成可执行程序。
以上连接的工作是由一个称为“连接编辑程序”(linkage editor)的软件来实现的。
(4)运行可执行程序,得到运行结果。
以上过程如图1.2所示。其中实线表示操作流程,虚线表示文件的输入输出。例如,编辑后得到一个源程序文件f.c,然后在进行编译时再将源程序文件f.c输入,经过编译源程序,找出问题,修改源程序,并重新编译,直到无错为止。有时编译过程未发现错误,能生成可执行程序,但是运行的结果不正确。一般情况下,这不是语法方面的错误,而可能是程序逻辑方面的错误,例如计算公式不正确、赋值不正确等,应当返回检查源程序,并改正错误。
为了编译、连接和运行C程序,必须要有相应的编译系统。目前使用的很多C编译系统都是集成开发环境(IDE)的,把程序的编辑、编译、连接和运行等操作全部集中在一个界面上进行,功能丰富,使用方便,直观易用。

热点内容
为什么安卓手机不能装鸿蒙应用 发布:2024-11-17 06:37:11 浏览:603
图的邻接表存储 发布:2024-11-17 06:35:43 浏览:610
密码去等于多少 发布:2024-11-17 06:30:08 浏览:979
行李箱忘记密码用什么开箱比较快 发布:2024-11-17 06:26:59 浏览:830
编程第一天 发布:2024-11-17 06:22:28 浏览:597
安卓媒体存储器 发布:2024-11-17 06:22:26 浏览:13
怎么做windows服务器集群 发布:2024-11-17 06:19:59 浏览:694
php的ide 发布:2024-11-17 06:19:56 浏览:397
如何启用安卓键盘 发布:2024-11-17 06:19:14 浏览:514
电脑电池怎么配置 发布:2024-11-17 06:17:47 浏览:10