Compilers/zh CN

From Free Pascal wiki
Jump to: navigation, search

Deutsch (de) English (en) español (es) français (fr) italiano (it) 日本語 (ja) 한국어 (ko) русский (ru) 中文(中国大陆)‎ (zh_CN)

Pascal 编译器 (原作者: Tao Yue, 状态: 未更改)

这篇文档将会解释有关编译器的基本知识,同时还会提供一些知名Pascal编译器的链接,并讲解如何设置Free Pascal。

关于计算机语言和编译器

当说到计算机语言时,会用到三个主要的术语。

  1. 机器语言 -- 为计算机CPU提供基本指令的实际二进制代码。这些通常是非常简单的命令,例如将两个数相加,或者把数据从内存中的某个位置移动到另外一个位置。
  2. 汇编语言 -- 让人类能够直接为计算机编程而不用记忆二进制数字串的一种方法。汇编语言指令和机器代码一一对应。例如,在Intel x86架构的机器上,ADD和MOV分别是加法操作和移动操作的助记符。
  3. 高级语言 -- 允许人类在编写复杂程序的时候不用一条指令一条指令地写。高级语言包括Pascal,C,C++,FORTRAN,Java,BASIC以及其它许多语言。高级语言中的一个命令,例如向文件中写入一个字符串,可能会翻译成几十甚至几百条机器语言指令。

微处理器只能够直接运行机器语言程序。汇编语言程序会被翻译成机器语言。同样地,用Pascal等高级语言写的程序也必须被转换为机器语言才能运行。这种转换就是编译。

完成这种转换的的程序就叫做编译器。这种程序相当复杂,因为它不仅要根据一行行的代码创建机器语言指令,经常还要优化代码让它运行得更快,添加差错校验码,并且还要将这个代码跟存放在别处的子程序链接起来。例如,当你叫计算机打印一些东西到屏幕上的时候,编译器把这个命令转换成对一个事先写好的模块的调用。然后你的代码必须被链接到编译器开发商提供的代码才能产生一个可执行程序。

在高级语言中,也有三个基本术语要记住:

  1. 源代码 -- 就是你写的代码。它有一个典型的扩展名来表示所用的语言。例如,Pascal源代码文件通常以".pas"作为后缀,而C++代码文件的后缀通常是".cpp"
  2. 目标代码 -- 编译的结果。目标代码通常程序的一个模块,而且由于它不完整,它还不能运行。在DOS/Windows系统中,这种文件通常的后缀名是".obj"
  3. 可执行代码 -- 最终的结果。一个程序起能够运行起来所需要的所有的目标代码模块都被链接到一起。在DOS/Windows系统中,这种文件的后缀通常是".exe"

有关编译器的更多信息

在DOS和基于Windows的操作系统中,事实上的编译器标准是Borland Pascal。在它面世之前,大多数编译器都笨拙缓慢,背离了Pascal标准,并且需要花费好几百美元。在1984年的时候,Borland公司提出了Turbo Pascal,卖价不到100美元,编译速度比现存编译器快了一个数量级,还带来了丰富的源代码和实用程序。

这款产品取得了巨大的成功,持续辉煌了近十年。但在20世纪90年代的时候,Windows操作系统主宰了世界。1993年,Turbo Pascal的最后一个版本,DOS上的版本7面世了。但从那以后,DOS程序的需求急剧下降,于是Borland公司(曾改名为Inprise,后来又改回了Borland)致力于开发Windows编译器。

这个教程只处理基于控制台的编程,也就是计算机显示一行行的数据到屏幕上,而用户用键盘跟程序交互。本教程的目标是教学如何用Pascal编程。一旦你已经学会了,你就可以很容易看懂相关书籍和别的网页,自己学会绘图和视窗系统。

虽然老的商业Pascal编译器通常还能够下载,Turbo Pascal 5.5可以从Borland Museum,Symantec Think Pascal(Macintosh)的链接是The Free Country网站的Free Pascal Compiler List,但是从20世纪80年代和90年代至今,计算机技术已经取得了巨大的进步。我们不再受制于DOS系统上的8.3文件名,或是Mac OS上的先占式多任务。或许使用一个老的编译器跟在模拟器上玩老游戏一样有趣,但是开源运动已经产生了许多现代操作系统上的编译器,初学者会发现这些更加简单易用。

开源编译器

两个主要的开源编译器项目是:

虽然上面两个都很适合学Pascal用,但普遍认为Free Pascal对初学者来说更加友好,而且它在许多方面都尽量模仿Borland Pascal。

由于本教程的大多数用户都用的Windows系统,下面介绍在现代Windows系统中如何设置Free Pascal,以及如何开始编译一个程序:

  1. Free Pascal download page这个网站下载Win32版本的Free Pascal安装程序。
  2. 运行刚才下载的文件,然后跟着安装向导设置Free Pascal。
  3. 用快捷方式打开Free Pascal(默认位置是开始菜单->Free Pascal)。
  4. 输入一段程序(转到下一页去获取一个"Hello, world."程序)。
  5. 通过File菜单的Save As选项保存文件。
  6. 从Run菜单运行这个程序。如果你已经更改了部分源代码,这将会自动编译源代码,然后运行程序。如果上次编译以后你没有再更改源代码,它不会编译而是直接运行程序。

运行不需要用户输入的程序时,你将会看到程序在一个黑屏上一闪而过。程序一眨眼就运行结束了,你还来不及看黑屏上的结果就回到了IDE界面。有两个办法解决这个问题:

  • 从Debug菜单选择User screen以便查看程序结果。
  • 在每个程序的最后一行添加一个readln语句。这将会让程序在结束并回到IDE界面之前等待用户按回车键。

Userscreen.png

注意在你保存程序的文件夹下会创建一个.exe文件。这个是可执行的。你可以打开命令提示行,切换到对应的路径下,然后直接运行这个可执行文件。你也可以在Windows资源管理器中双击运行它(如果程序中不需要用户输入,这里它也会快速地一闪而过)。


上一页 目录 下一页