C程序设计实践教程
上QQ阅读APP看书,第一时间看更新

1.4 程序的运行过程

前面在讲解“Hello world!”程序的时候提到,可以通过一个编译器将代码输入到一个以.c为后缀的文件中。这只是刚刚完成了第1步。难道输入完这些代码之后,就可以得到我们需要的结果了吗?从文本代码到一个真正的应用程序之间是一个怎样的转换过程呢?本节我们作一个简单的介绍,如图1-1所示。

图1-1 文本代码到应用程序的转换过程

一般来说,写完一个源文件之后要对其进行编译,编译器负责将一个源程序转换为可执行的程序。预处理负责处理源文件中的#include,比如在我们的例子中,会将两个头文件包含到程序文本中。然后进行编译,编译阶段会检查所写的代码中的语法错误。编译成功后生成一个目标文件,比如hello.o。最后,因为应用程序里面使用的printf是在系统的库里的函数,编译器将这两个以.o为后缀的文件链接之后生成可执行的程序“hello”。这里,“hello”就是我们最终得到的可执行程序。

许多厂商和组织为了让程序员的开发过程更便捷,提供了一系列开发工具。业界将把开发、编译、运行、源文件及项目管理功能组合为一个开发软件的开发工具称为“集成开发环境”,简称为IDE。下面举一个应用IDE工具(DEVC++)的具体案例,来说明开发和运行一个C语言程序项目的过程。

步骤一:创建新项目。点击左上角菜单栏的“File→New→Project”,如图1-2所示。

图1-2 建立新项目

步骤二:编辑项目名称HelloWorld,确定项目类型为C语言项目。这里以控制台输出为例,选择完后点击“OK”,如图1-3所示。

图1-3 设定项目名称

步骤三:创建应用程序。右击项目名称,选择“New File”。右击创建好的新文件,选择“Renamefile”。在弹出的对话框中编辑名称,如图1-4所示。

图1-4 为项目添加文件

步骤四:打开文件,编辑源文件,如图1-5所示。

图1-5 编辑源文件

步骤五:编译运行。先点击编译按钮编译程序,再点击运行按钮(具体位置见图1-6)。

图1-6 编译与运行按钮

调试与异常处理。有很多原因会造成程序无法编译或无法运行,这种情况被称为编译异常。当程序出现编译异常时就需要手动调错。编译器会把程序的异常信息显示在编译器的异常信息控制台。控制台会报告异常出现的方法、所在行、出现异常的文件,以及出现异常的原因(见图1-7中的箭头位置)。修改异常后,回到步骤五,重新编译运行。

图1-7 编译器提供的错误信息

编程是个复杂的创造过程,乐趣就在纠正错误和克服困难中,只要勤加练习,就可以开发出可读性强、简洁、正确、优雅的程序。