主要区别
解释器一次只执行一个语句的翻译程序。Compile开始扫描整个程序,然后将其作为一个整体翻译成机器代码。解释器以相对较少的时间和缓慢的执行时间来覆盖分析工作。另一方面,编译器需要花费大量的时间来评估和评估源代码;但是,它运行得更快。解释器具有内存效率,不需要任何中间目标代码生成。编译器生成的中间目标代码需要进一步链接,因此它需要移动内存。解释器将程序翻译到处理第一个错误的那一刻,因此这里的调试更容易。另一方面,编译器只在扫描整个程序后才生成错误消息,在这里调试很困难。解释器采用单指令输入,编译器以整个程序为输入。编译器与Python Ruby编程语言相关联,而解释程序采用C和C++。由于机器代码不易理解,编译器更容易保护知识产权。解释器的知识产权很弱,因为源代码必须在运行时可用。
比较图
什么是interperter公司(interperter)?
执行程序是用计算机直接把指令编译成一种机器语言来执行的。它利用某种特定的技术来执行程序。它将源代码转换成一些有效的中间表示,并立即执行。解释器采用单指令接收输入,不产生中间目标代码。解释器执行条件控制语句的速度较慢,而且内存需求最小。在解释器中,高级程序每次都被转换成低级程序。在这里,每个指令都会显示错误。
什么是编译程序(compiler)?
编译器是一种计算机程序,用于将用一种编程语言编写的源代码转换成另一种计算机语言。最初,“编译器”这个名称用于将源代码从高级编程语言转换为低级语言的程序。编译器还执行词法分析、预处理、解析、语义分析、代码生成和代码优化等操作。编译器把整个程序作为输入,中间目标代码就在这里产生了。在编译器中,条件控制语句的执行速度更快,不需要每次编译程序。当整个程序被评估时,错误就会显现出来。
主要区别
- 解释器以单个指令为输入,编译器以整个程序为输入。
- 中间目标代码在编译器中生成;在解释器中不生成中间目标代码。
- 条件控制语句在编译器中执行迅速,在解释器中条件控制语句执行缓慢。
- 高级程序在解释器中每次都被转换成低级程序,不需要每次在编译器中编译程序。
- 在解释器中调试很容易;在编译器中调试语言变得至关重要
对比视频
结论
计算机体系结构和理解与之相关的术语可能是一个麻烦的任务,上面这两个术语是相似的,它们之间有着各种不同,但似乎总是彼此相似。因此,本文试图解释它们之间的差异,以帮助人们建立一个清晰的认识。