【ACCESS精品源码栏目提醒】:以下是网学会员为您推荐的ACCESS精品源码-【精品】电脑学习 - 其它资料,希望本篇文章对您学习有所帮助。
编译器编译器是一种特殊的程序,它可以把以特定编程语言写成的程序变为机器可以运行的机器码。
我们把一个程序写好,这时我们利用的环境是文本编辑器。
这时我程序把程序称为源程序。
在此以后程序员可以运行相应的编译器,通过指定需要编译的文件的名称就可以把相应的源文件(通过一个复杂的过程)转化为机器码了。
下面我们看看它是如何工作的。
首先编译器进行语法分析,也就是要把那些字符串分离出来。
然后进行语义分析,就是把各个由语法分析分析出的语法单元的意义搞清楚。
最后生成的是目标文件,我们也称为 obj 文件。
再经过链接器的链接就可以生成最后的可执行代码了。
有些时候我们需要把多个文件产生的目标文件进行链接,产生最后的代码。
我们把一过程称为交叉链接。
程序设计语言程序设计语言,通常简称为编程语言,是一组用来定义计算机程序的语法规则。
它是一种被标准化的交流技巧,用来向计算机发出指令。
一种计算机语言让程序员能够准确地定义计算机所需要使用的数据,并精确地定义在不同情况下所应当采取的行动。
程序设计语言原本是被设计成专门使用在计算机上的,但它们也可以用来定义算法或者数据结构。
正是因为如此,程序员才会试图使程序代码更容易阅读。
设计语言往往使程序员能够比使用机器语言更准确地表达他们所想表达的目的。
对那些从事计算机科学的人来说,懂得程序设计语言是十分重要的,因为在当今所有的计算都需要程序设计语言才能完成。
发展历史: 在过去的几十年间,大量的程序设计语言被发明、被取代、被修改或组合在一起。
尽管人们多次试图创造一种通用的程序设计语言,却没有一次尝试是成功的。
之所以有那么多种不同的编程语言存在的原因是,编写程序的初衷其实也各不相同;新手与老手之间技术的差距非常大,而有许多语言并对新手来说太难学;还有,不同程序之间的运行成本(runtime cost)各不相同。
有许多用于特殊用途的语言,只在特殊情况下使用。
例如,PHP 专门用来显示网页;Perl 更适合文本处理;C 语言被广泛用于操作系统和编译器的开发(所谓的系统编程)。
高级程序设计语言(也称高级语言)的出现使得计算机程序设计语言不再过度地倚赖某种特定的机器或环境。
这是因为高级语言在不同的平台上会被编译成不同的机器语言,而不是直接被机器执行。
最早出现的编程语言之一 FORTRAN 的一个主要目标,就是实现平台独立。
虽然大多数的语言可以既可被编译(compiled)又可被解译(interpreted),但大多数只在一种情况下能够良好运行。
在一些编程系统中,程序要经过几个阶段的编译,一般而言,后阶段的编译往往更接近机器语言。
这种常用的使用技巧最早在 1960 年代末用于 BCPL,编译程序先编译一个叫做“0 代码”的转换程序(representation),然后再使用虚拟器转换到可以运行于机器上的真实代码。
这种成功的技巧之后又用于 Pascal 和 P-code,以及 Smalltalk 和二进制码,虽然在很多时候,中间过渡的代码往往是解译,而不是编译的。
如果所使用的翻译的机制是将所要翻译的程序代码作为一个整体翻译,并之后运行内部格式,那么这个翻译过程就称为编译。
因此,一个编译器是一个将可阅读的程序文本(叫做源代码)作为输入的数据,然后输出可执行文件(object code)。
所输出的可执行文件可以是机器语言,由计算机的中央处理器直接运行,或者是某种模拟器的二进制代码。
如果程序代码是在运行时才即时翻译,那么这种翻译机制就被称作解译。
经解译的程序运行速度往往比编译的程序慢,但往往更具灵活性,因为它们能够与执行环境互相作用。
参见解译语言!解释器解释器是能够执行用其他计算机语言编写的程序的系统软件,它是一种翻译程序。
它的执行方式是一边翻译一边执行,因此其执行效率一般偏低,但是解释器的实现较为简单,而且编写源程序的高级语言可以使用更加灵活和富于表现力的语法。
Python、TCL 和各种 Shell 程序一般而言是使用解释器执行的。
微软公司的