编译执行和解释执行的区别

编译执行是否必须先执行安装程序,或者把编程语言安在应用程序所在的机器上才能用?而解释执行把应用程序直接拷过去就能用?重装系统后是否编译执行类的语言编的程序就不能用了?程序运行时有什么不同?两者还有什么区别?哪些语言编的程序是编译执行,哪些是解释执行?

一、主体不同

1、编译执行:由编译程序将目标代码一次性编译成目标程序,再由机器运行目标程序。

2、解释执行:将源语言直接作为源程序输入,解释执行解释一句后就提交计算机执行一句,并不形成目标程序。

二、优势不同

1、编译执行:相比解释执行编译执行效率高,占用资源小,适合复杂程序

2、解释执行:开发速度快,出现严重BUG的几率小。


三、缺点不同

1、编译执行:兼容性差,例如在windows平台上写的编译程序一般不可以在unix平台上运行。

2、解释执行:解析需要时间,不生成目标程序而是一句一句的执行的方式会造成计算机资源的浪费,即执行效率低。


参考资料来源:百度百科-解释执行

参考资料来源:百度百科-编译执行

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-09-22
A、解释程序

所谓解释程序是高级语言翻译程序的一种,它将源语言(如BASIC)书写的源程序作为输入,解释一句后就提交计算机执行一句,并不形成目标程序。就像外语翻译中的“口译”一样,说一句翻一句,不产生全文的翻译文本。这种工作方式非常适合于人通过终端设备与计算机会话,如在终端上打一条命令或语句,解释程序就立即将此语句解释成一条或几条指令并提交硬件立即执行且将执行结果反映到终端,从终端把命令打入后,就能立即得到计算结果。这的确是很方便的,很适合于一些小型机的计算问题。但解释程序执行速度很慢,例如源程序中出现循环,则解释程序也重复地解释并提交执行这一组语句,这就造成很大浪费。

B、编译程序

这是一类很重要的语言处理程序,它把高级语言(如FORTRAN、COBOL、Pascal、C等)源程序作为输入,进行翻译转换,产生出机器语言的目标程序,然后再让计算机去执行这个目标程序,得到计算结果。

编译程序工作时,先分析,后综合,从而得到目标程序。所谓分析,是指词法分析和语法分析;所谓综合是指代码优化,存储分配和代码生成。为了完成这些分析综合任务,编译程序采用对源程序进行多次扫描的办法,每次扫描集中完成一项或几项任务,也有一项任务分散到几次扫描去完成的。下面举一个四遍扫描的例子:第一遍扫描做词法分析;第二遍扫描做语法分析;第三遍扫描做代码优化和存储分配;第四遍扫描做代码生成。

值得一提的是,大多数的编译程序直接产生机器语言的目标代码,形成可执行的目标文件,但也有的编译程序则先产生汇编语言一级的符号代码文件,然后再调用汇编程序进行翻译加工处理,最后产生可执行的机器语言目标文件。

在实际应用中,对于需要经常使用的有大量计算的大型题目,采用招待速度较快的编译型的高级语言较好,虽然编译过程本身较为复杂,但一旦形成目标文件,以后可多次使用。相反,对于小型题目或计算简单不太费机时的题目,则多选用解释型的会话式高级语言,如BASIC,这样可以大大缩短编程及调试的时本回答被提问者采纳
第2个回答  2018-07-05

    编译(compilation , compile) ,利用编译程序从源语言编写的源程序产生目标程序的过程。用编译程序产生目标程序的动作。 编译就是把高级语言变成计算机可以识别的2进制语言。

    解释直译语言由解释器将代码一句一句运行。

    理论上,任何编程语言都可以是编译式,或直译式的。它们之间的区别,仅与程序的应用有关。

本回答被网友采纳

编译执行和解释执行的区别
一、主体不同 1、编译执行:由编译程序将目标代码一次性编译成目标程序,再由机器运行目标程序。2、解释执行:将源语言直接作为源程序输入,解释执行解释一句后就提交计算机执行一句,并不形成目标程序。二、优势不同 1、编译执行:相比解释执行编译执行效率高,占用资源小,适合复杂程序 2、解释执行:开发...

编译程序和解释程序的区别是
3、执行速度不同编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快。而解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快容的。这是因为计算机不能直接认识并执...

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

程序的编译执行和解释执行有何区别?
程序的编译执行和解释执行的主要区别在于,编译执行需要将源代码整体转换成机器代码后执行,而解释执行则是逐行读取源代码并转换成机器代码执行。编译执行和解释执行是两种不同的程序执行方式,它们的主要区别在于如何将源代码转化为可以由计算机执行的机器代码。编译执行的过程通常包括两个阶段:编译阶段和执行...

编译执行和解释执行的区别。
【答案】:编译执行时首先要经过编译阶段,产生完整的机器语言程序,然后执行机器语言程序;而解释执行时,没有显式的翻译过程,解释器顺序处理程序中的每个语句,对这些语句进行分析,然后执行能够反映这些语句语义的机器指令。解释执行时没有产生和保存完整的机器语言程序,因此,每次解释执行程序时,解释器都...

编译程序与解释程序的区别有什么
首先,执行阶段不同。编译程序的执行分为编译阶段与执行阶段。在编译阶段,源程序被转换为机器码。而在执行阶段,机器码直接运行。解释程序则在编译与执行之间进行,逐行解释执行代码。其次,运行效率有所差异。编译程序的机器码在执行时直接运行,因此效率较高。相反,解释程序每行代码都需要编译一次,导致...

编译和解释的区别
1、在编译方式下,机器上运行的是与源程序等价的目标程序,源程序和编译程序都不再参与目标程序的执行过程,而在解释方式下,解释程序和源程序(或某种等价表示)要参与到程序的运行过程中,运行程序的控制权在解释程序。2、解释器翻译源程序时不生成独立的目标程序,而编译器则将源程序翻译成独立的目标...

编译和解释的区别
编译和解释的区别如下:1、与计算机的交流方式不同 解释程序不产生目标代码,它逐条地取出源程序中的语句,边解释,边执行;解释器把源代码文件边解释成机器语言边交给CPU执行。编译是将源程序翻译成可执行的目标代码,执行可执行程序文件,翻译与执行是分开的。2、运行环境不同 解释程序可跨平台使用,因为...

编译方式和解释方式有什么区别
编译方式和解释方式区别:编译就是全文翻译,全部翻译完才执行,解释就相当于同声翻译,边翻译边执行。程序员编写的程序现在一般都是用高级语言编写的,如c\/c++以及面向对象的visual系列;这样编写的程序计算机是不能直接解释方式:程序运行时,取一条指令,将其转化为机器指令,再执行这条机器指令。这种方式...

编译方式和解释方式的区别
区别:编译方式运行速度快,而解释方式运行速度慢。1、编译方式为编译和运行。即先通过一个存放在计算机内的.称为编译程序的机器语言程序,把源程序全部翻译成和机器语言表示等价的目标程序代码,然后计算机在运行此目标代码,以完成源程序要处理的运算并取得结果。2、解释方式是每执行一句就翻译一句即边执行...

相似回答