解释或编译
⑴ 编译和解释的区别是什么
编译和解释的区别是与计算机的交流方式不同、运行环境不同、运行速度不同。
一、与计算机的交流方式不同
编译是将源程序翻译成可执行的目标代码,执行可执行程序文件,翻译与执行是分开的。
解释程序不产生目标代码,它逐条地取出源程序中的语句,边解释边执行,解释器把源代码文件边解释成机器语言边交给CPU执行。
二、运行环境不同
编译程序跨平台性不好,不同操作系统,调用底层的机器指令不同,需为不同平台生成不同的机器码文件,编译程序每次修改源代码,都要重新编译,生成机器码文件。
解释程序可跨平台使用,因为解释器已经做好了对不同平台的交互处理,用户写的源代码不需要再考虑差异性,源代码所有平台都可以直接执行,解释程序可以随时修改,立刻生效,改完源代码后,直接运行看效果。
三、运行速度不同
编译程序执行速度快,因为你的程序代码已经翻译成了是计算机可以理解的机器语言。
解释程序运行效率低,所有的代码均需经过解释器边解释变执行,速度比编译型慢很多。
⑵ 编译程序和解释程序都是什么意思
1、编译程序是把用高级程序设计语言或计算机汇编语言书写的源程序,翻译成等价的机器语言格式目标程序的翻译程序,属于采用生成性实现途径实现的翻译程序。编译程序以高级程序设计语言书写的源程序作为输入,而以汇编语言或机器语言表示的目标程序作为输出;编译出的目标程序通常还要经历运行阶段,以便在运行程序的支持下运行,加工初始数据,算出所需的计算结果。
2、解释程序是高级语言翻译程序的一种,它将源语言书写的源程序作为输入,解释一句后就提交计算机执行一句,并不形成目标程序。就像外语翻译中的“口译”一样,说一句翻一句,不产生全文的翻译文本。
(2)解释或编译扩展阅读:
编译程序的实现算法较为复杂。这是因为它所翻译的语句与目标语言的指令不是一一对应关系,而是一多对应关系;同时也因为它要处理递归调用、动态存储分配、多种数据类型,以及语句间的紧密依赖关系。但是,由于高级程序设计语言书写的程序具有易读、易移植和表达能力强等特点,编译程序广泛地用于翻译规模较大、复杂性较高、且需要高效运行的高级语言书写的源程序。
⑶ 编译和解释的区别
1、在编译方式下,机器上运行的是与源程序等价的目标程序,源程序和编译程序都不再参与目标程序的谨搏哪执行过程,而在解释方祥码式下,解释程序和源程序(或某种等价表示)要参与到程序的运行过程中,运行程序银芹的控制权在解释程序。
2、解释器翻译源程序时不生成独立的目标程序,而编译器则将源程序翻译成独立的目标程序。
⑷ 编译程序和解释程序的区别
编译程序和解释程序的区别是:
1、编译是将源程序翻译成可执行的目标代码;解释程序不产生目标代码。
2、解释程序可跨平台使用;编译程序跨平台性不好。
3、解释程序可以随时修改,立刻生效;编译程序不行。
4、解释程序运行效率低;编译程序执行速度快。
编译是将源程序翻译成可执行的目标代码,翻译与执行是分开的;而解释是对源程序的翻译与执行一次性完成,不生成可存储的目标代码。这只是表象,二者背后的最大区别是:对解释执行而言,程序运行时的控制权在解释器而不在用户程序;对编译执行而言,运行时的控制权在用户程序。
解释具有良好的动态特性和可移植性,比如在解释执行时可以动态改变变量的类型、对程序进行修改以及在程序中插入良好的调试诊断信息等,而将解释器移植到不同的系统上,则程序不用改动就可以在移植了解释器的系统上运行。
同时解释器也有很大的缺点,比如执行效率低,占用空间大,因为不仅要给用户程序分配空间,解释器本身也占用了宝贵的系统资源。
编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快。
而解释器则是只在执行程序时,才一条一条的解释成机器语言给计算机来执行,所以运行速度是不如编译后的程序运行的快的。
⑸ 编译和解释程序都是什么
编译(compilation , compile)
1、利用编译程序从源语言编写的源程序产生目标程序的过程。
2、用编译程序产生目标程序的动作。 编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的。 编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成。主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法错误,给出提示信息。
解释执行
1.解释执行不依赖于平台,因为编译器会根据不同的平台进行解析。例如JS语言无论在windows平台还是在unix平台都可以使用。故可移植性强.
2.使用解释执行的程序我们一般称为解释程序。它将源语言直接作为源程序输入,解释执行解释一句后就提交计算机执行一句,并不形成目标程序。如在终端上打一条
命令或语句,解释程序就立即将此语句解释成一条或几条指令并提交硬件立即执行且将执行结果反映到终端,从终端把命令打入后,就能立即得到计算结果。这种工
作方式非常适合于人通过终端设备与计算机会话.
直接点吧,编译执行就是先将程序翻译成机器代码,以后运行的都是机器代码.解释执行就是,代码跟着走,每运行一次,编译一次.解释执行也分为两种,一种是执行一句,编译一句,一种是编译完全部代码,再执行.
⑹ 编译程序和解释程序都是什么意思
1、编译程序是把用高级程序设计语言或计算机汇编语言书写的源程序,翻译成等价的机器语言格式目标程序的翻译程序,属于采用生成性实现途径实现的翻译程序。编译程序以高级程序设计语言书写的源程序作为输入,而以汇编语言或机器语言表示的目标程序作为输出;编译出的目标程序通常还要经历运行阶段,以便在运行程序的支持下运行,加工初始数据,算出所需的计算结果。
2、解释程序是高级语言翻译程序的一种,它将源语言书写的源程序作为输入,解释一句后就提交计算机执行一句,并不形成目标程序。就像外语翻译中的“口译”一样,说一句翻一句,不产生全文的翻译文本。
(6)解释或编译扩展阅读:
编译程序的实现算法较为复杂。这是因为它所翻译的语句与目标语言的指令不是一一对应关系,而是一多对应关系;同时也因为它要处理递归调用、动态存储分配、多种数据类型,以及语句间的紧密依赖关系。但是,由于高级程序设计语言书写的程序具有易读、易移植和表达能力强等特点,编译程序广泛地用于翻译规模较大、复杂性较高、且需要高效运行的高级语言书写的源程序。
⑺ “编译方式”和“解释方式”的区别是什么
程序员编写的程序现在一般都是用高级语言编写的,如c/c++ 以及面向对象的visual 系列;这样编写的程序计算机是不能直接执行的,因为计算机只能执行二进制程序。因此要经过一个源程序代码翻译成二进制的过程。计算机并不能直接地接受和执行用高级语言编写的源程序,源程序在输入计算机时,通过“翻译程序”翻译成机器语言形式的目标程序,计算机才能识别和执行。这种“翻译”通常有两种方式,即编译方式和解释方式。
两者的区别如下:
解释方式:程序运行时,取一条指令,将其转化为机器指令,再执行这条机器指令。这种方式每次运行程序时都要重新翻译整个程序,效率较低,执行速度慢,如QB,不过现在很少再用这种低效的方式的设计语言了。
编译方式:程序运行时之前,将程序的所有代码编译为机器代码,再运行这个程序。然后每次执行的时候就可以直接执行这个翻译好的二进制文件了,这样的程序只需要翻译一次,效率明显要高很多,现在的大多数语言都是这种方式,网页中的asp.net 采用的也是这种方式。
简单的说,编译就是全文翻译,全部翻译完才执行。解释就相当于同声翻译,边翻译边执行。
⑻ 编译和解释的区别是什么
1.定义区别
①编译原理旨在介绍编译程序构造的一般原理和基本方法。内容包括语言和文法、词法分析、语法分析、语法制导翻译、中间代码生成、存储管理、代码优化和目标代码生成。
②汇编语言(assembly language)是一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
2.处理方式区别
①编译过程与解释挺像,区别就在于编译是将所有的源代码指令一次性成翻目标代码并执行。
②汇编过程就是把汇编指令一对一地翻译成01机器码的过程。而采用这种处理方式的语言只有一类:汇编语言。
3.特点区别
①编译语言的特点就是不需要解释器的参与,所以运行比较快,但是编译好的程序只能在当前平台运行,是个局限性。
②汇编语言是当今世界上历史最早,应用最广,功能最强大,运行速度最快的编程语言。但是汇编语言开发工期长,可读性差,并且不能跨平台编程。
⑼ 编译和解释的区别
解释和编译的区别如下:
1、读音不同
解释:读音是jiě shì。
编译:读音是biān yì。
2、意思不同
解释:意思是指在观察的基础上进行思考,合理地说明事物变化的原因,事物袭行燃之间的联系,或者是事物发展的规律。
编译:编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的。
编译的词法分析
词法分析的任务是对由字符组成的单词进行处理,从左至右逐个字符地对源程序进行扫描,产生一个个的单词符号,把作为字符串的源程序改造成为单词符号串的中间程序。执行词法分析的程序称为词法分析程序或扫描器。
源程序中的单词符号经扫描器分析,一般产生二元式:单词种别;单词自身的值。拍虚单词种别通常用整数编码,如果一个种别只含一个单词符号,那么对这个单词符号,种别编码就完全代表它自身的值了。若一个种别含有许多个单词符号,那么,对于它的每带虚个单词符号,除了给出种别编码以外,还应给出自身的值。
词法分析器一般来说有两种方法构造:手工构造和自动生成。手工构造可使用状态图进行工作,自动生成使用确定的有限自动机来实现。
⑽ 解释和编译有什么区别
分类: 电脑/网络 >> 程序设计 >> 其他编程语言
问题描述:
编译能产生exe文件,解释也能吗。
如果都能,那他们的exe文件有什么区别
解析:
解释(intepreter)和编译(pile)的区别:
1. 解释 -- 运行时必需用解释器把程序一行一行执行, 运行比较慢, 因为是运行时才把程序解析并执行. 优点是移植性, 不同的机器只要有解释器就可以运行相同的程序.
2. 编译 -- 先把程序转成 CPU 跟操作系统认识的机械码, 执行程序就是直接执行机械码, 所以速度比较快, 但因为是机械码 (加上一些操作系统的 loader 所要的信息), 不同的 CPU 与操作系统并不能运行编译后的程序
另外还有一种是半编译的, 先把程序编译成一种中间码, 再在不同的机器运行解释器解释这种中间码.
网页上的 java 可以是解释的或是中间码的形式
解释是读一行解释一行,然后再执行,执行完后,再读下一行,然后再解释一下再执行。
下次再执行时还要解释。
编译的话就是只要编译一次,下次再执行是就不用再解释了,相对来说速度较快。