编译程序和解释程序的区别

编译程序和解释程序的区别,第1张

编译程序和解释程序的区别是:

1、编译是将源程序翻译成可执行的目标代码;解释程序不产生目标代码。

2、解释程序可跨平台使用;编译程序跨平台性不好。

3、解释程序可以随时修改,立刻生效;编译程序不行。

4、解释程序运行效率低;编译程序执行速度快。

编译是将源程序翻译成可执行的目标代码,翻译没斗与执行是分开的;而解释是对源程序的翻译与执行一次性完成,不生成可存储的目标代码。这只是表象,二者背后的最大区别是:对解释执行而言,程序运行时的控制权在解释器而不在用户程序;对编译执行而言,运行时的控制权在用户程序。

解释具有良好的动态特性和可移植性,比如在解释执行时可以动态改变变量的类型、对程序进行修改以及在程序中插入良好的调试诊断信息等,而将解释器移植到不同的系统上,则程序不用改动就可以在移植了解释器的系统上运行。

同时解释器也有很大的缺点,比如执行效率低,占用空间大,因为不仅要给用户程序分配空间,念察败解释器本身也占用了宝贵的系统资源。

编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行仔颤时计算机可以直接以机器语言来运行此程序,速度很快。

而解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的。

通常,将高级语言程序翻译成机器语言程序的软件称为磨基翻译程序。翻译程序有两种:一种是瞎盯谨编译程序,另一种是解释程序。编译程序是将用户编写的高级语言程序(源程序)的全部语句一次全部翻译成机器语言程序,而后再执行机器语言程序。因此,只则慎要源程序不变,就无须再次进行翻译。例如,FORTRAN、PASCAL等语言就是用编译程序来完成翻译的。解释程序是将源程序的一条语句翻译成对应于机器语言的一条语句,并且立即执行这条语句,接着翻译源程序的下一条语句,并执行这条语句,如此重复直至完成源程序的全部翻译任务。它的特点是翻译一次执行一次,即使下一次重复执行该语句时,也必须重新翻译。例如,BASIC语言的翻译就有解释程序和编译程序两种。

编译程序(Compiler,compiling program)也称为编译器,是指把用高级程序设计语言书写的源程序,翻译成等价的机器语言格式目标程序的翻译程序。

解释程序是一种语言处理程序,在词法、语法和语义分析方者轮斗面与编译程序的工作原理基本相同,但在运行用户程序时,它直接执行源程序或源程序的内部形式(中间代码)。

扩展资料:

解释程序的一般结构可以分为解释模块和运行模块两个主要模块。前者的职能是按源程序动态执行顺序逐个桐返输入语句,并对单个语句进行分析和解释,包括语法和语义的正确性检验、生成等价的中间代码或机器语言代码首磨,以及错误信息提供等处理。

后者的职能是运行语句的翻译代码,并输出中间结果或最终结果。由于解释程序的设计思想不同,运行模块的执行方式也不同。

参考资料来源:

百度百科——编译程序

百度百科——解释程序


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12440071.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存