
1.3 C/C++程序快速入门
1.3.1 程序的加工和执行
在使用高级语言(C/C++语言)做编程工作时,我们首先需要使用编辑工具,按照语言规则编写出程序的代码,这种程序通常称作源程序,然后将其保存为计算机的文件(文件扩展名通常为“*.cpp”或“*.c”),这种文件称为源程序文件。这样的源程序比较容易使用和阅读,但不能直接送给计算机去执行。计算机只能识别和执行特定二进制形式的机器语言程序。为使计算机能完成源程序描述的工作,必须先把源程序转换成二进制形式的机器语言程序,这种转换由C/C++语言系统完成。由源程序到机器语言程序的转换过程称为程序的加工,各种C/C++语言系统都包含了加工源程序的功能,包括“编译程序”“连接程序”等,系统里还可能包含一些其他功能模块。
程序的加工通常分两步完成(如图1-2所示)。
第一步,编译器(或者叫编译程序)分析处理源程序文件,生成相应的机器语言目标模块(目标文件,在Windows系统中通常以obj作为扩展名)。目标文件还不能执行,因为缺少程序运行需要的一个公共部分,即C/C++程序的运行系统。此外,大多数程序里都要使用函数库提供的某些功能。

图1-2 C/C++源程序的加工过程
为构造出可以运行的完整程序,还需要第二步加工:连接。这一工作由连接器(连接程序)完成,它把编译得到的目标模块与其他必要部分(运行系统、函数库提供的功能模块等)拼装起来,做成可执行程序。此后,我们只要命令计算机运行得到的可执行程序,计算机就能完成相关的工作了。
在实际编程过程中,我们需要使用计算机完成程序的编辑、加工(编译和连接)和运行等操作。每步操作可以用一种独立软件完成。为方便编程工作,人们开发了集成开发环境(Integrated Development Environment, IDE)软件,其中集成了编程中需要的各种软件(编辑器、编译器、连接器、调试器以及其他工具),并统一管理和使用它们。利用IDE写程序,开发过程中的各种工作都能比较方便地完成,大大提高了编程工作的效率。目前微机上可用的C/C++集成开发环境有许多种,本书将以Windows上免费的Dev-C++为例进行说明(见1.4节),其他IDE的操作与其类似。