C++语言程序设计
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.5.1 C++程序的编辑、编译和运行

1. 编辑

编辑功能就是将编写好的C++语言源程序录入到计算机中,生成磁盘文件并加以保存。

录入的方法有两种。一种是选用计算机中所提供的某种文件编辑器,将源程序代码录入到磁盘文件中,该文件名应加扩展名.cpp。另一种是选用C++编译器本身所提供的编辑器,这种方法比较方便,是一种常用方法。例如,使用Visual C++5.0版本的编译器时,该编译器本身带有一个全屏幕编辑器,具有编辑器的全部功能,使用起来很方便。

2. 编译

C++语言是一种以编译方式来实现的高级语言。C++源程序必须经过编译后才能运行。编译工作是由系统提供的编译器来完成的。

编译器的功能是将程序的源代码转换成目标代码,然后,再将目标代码进行连接,生成可执行文件。

整个的编译过程可分为如下3个子过程。

(1)预处理过程

源程序编译时,首先经过预处理过程,先执行程序中的预处理命令,执行后再继续后面的编译。

(2)编译过程

在编译过程中,主要进行词法分析和语法分析。在分析过程中,发现有不符合要求的词法和语法时,及时报告用户,将错误信息显示在屏幕上。在这个过程中还要生成一个符号表,用来映射程序中的各种符号及其属性。

(3)连接过程

将编译过程中生成的目标代码进行连接处理,最后生成可供机器运行的可执行文件。在连接过程中,往往还要加入一些系统提供的库文件代码。

经过编译后的目标代码文件的扩展名为.obj,又称OBJ文件;经过连接后生成的可执行文件的扩展名为.exe,又称为可执行文件。

3. 运行

运行可执行文件的方法很多,一般是在编译系统下执行其运行功能,通过选择编译系统的菜单项便可实现。这是常用的方法。

可执行文件也可以在MS-DOS系统下执行。在DOS提示符后,直接输入可执行文件名,再按回车键便可执行。

可执行文件被运行后,在屏幕上显示其运行结果。

一个源程序在编译、连接和运行中可能出现下述3种错误。

(1)编译错

这种错误多是词法错误和语法错误。这类错误又分为两种:一种是致命错,另一种是警告错。致命错将终止程序的继续编译,不生成目标代码文件,必须修正后再编译。警告错可以继续编译,生成可执行文件。在一般情况下,编译中的警告错也应该修改,直到没有任何错误为止。

(2)连接错

连接错是指在程序被编译后进行连接时发生的错误,连接错多是致命错,必须修改后才能继续编译,直到无错后才能生成可执行文件。

上述两种错误都是在编译过程中发现的,并可将其错误信息显示在屏幕上。用户可根据所显示的错误信息对源程序进行修改。

(3)算法错

一个程序被编译后生成可执行文件,运行后又得到了输出结果,但是,输出结果与原题意不符,显然,程序出现了错误。这类错误通常是由于算法错误产生的。修正这种错误的方法往往是通过验证若干组数据的结果来寻找错误原因。