在传统的计算机中,程序或源代码到目标/机器代码的翻译是通过各种方法完成的,包括汇编、编译和解释器。下面将详细介绍它们之间的差异。
汇编程序是一种程序,它接受一条或多条基本计算机指令,然后将它们转换成计算机处理器可以用来执行其基本操作的位模式。通常,用于编写汇编程序的语言称为汇编语言。汇编程序首先将源代码转换为目标代码,然后在链接程序的帮助下将目标代码转换为机器语言。
编译器是一种计算机程序,它将用编程语言编写的源代码转换成机器语言,然后执行。通常情况下,编译器需要花费时间,因为他们必须将高级代码一次翻译成低级机器语言,然后将可执行的目标代码保存到内存中。同样在编译器中,在一次转换所有代码之后,会生成整个程序的错误报告。
编译器可以根据其执行的功能或构造方式进行分类。编译器可以分为单通道、加载和运行、调试、多通道和优化。
编译分为以下几个阶段:词法分析器、语法分析器、语义分析器、中间代码生成器、代码优化器、符号表和错误句柄。
解释器是一种计算机程序,它将高级指令翻译成中间形式,然后将中间代码转换成机器语言和;执行具体行动。解释器在软件开发工具中经常被用作调试工具,因为它们一次可以执行一个代码。在Java语言中,编译器和解释器共同生成机器代码。
比较基础 | 汇编程序 | 编译程序 |
转变 | 汇编程序将汇编代码转换为机器代码。 | 编译器将程序员编写的源代码转换为机器级语言。 |
输入 | 汇编程序输入源代码。 | 编译器输入是经过预处理的源代码。 |
输出 | 汇编程序的输出是二进制代码。 | 编译器的输出是机器代码的助记符版本。 |
例子 | 气体GNU | C++语言java语言 |
调试 | 调试是困难的。 | 调试很容易。 |
工作 | 汇编程序首先将源代码转换为目标代码,然后在链接程序的帮助下将目标代码转换为机器语言。 | 编译器首先扫描整个程序,然后再翻译成机器代码。 |
智力 | 汇编程序不如编译器聪明。 | 编译器比汇编程序更智能。 |
工作阶段 | 汇编程序在给定的输入上分两个阶段进行工作。这些阶段是:第一阶段第二阶段 | 编译阶段是:词法分析器语法分析器语义分析器代码优化器代码生成器错误处理程序 |
比较基础 | 编译程序 | 口译译员 |
作用 | 编译器将高级语言程序代码转换为机器语言,然后执行它。 | 解释器将源代码转换为中间形式,然后将中间代码转换为机器语言 |
扫描 | 编译器首先扫描整个程序,然后再翻译成机器代码。 | 解释器逐行扫描程序并将其翻译成等效的机器代码。 |
工作 | 编译器将整个程序作为输入。 | 解释器将单个指令作为输入。 |
代码生成 | 中间目标代码是在编译器的情况下生成的。 | 对于解释器,不生成中间目标代码。 |
执行时间 | 与解释器相比,编译器需要更少的执行时间。 | 与编译器相比,解释器需要更多的执行时间。 |
例子 | C COBOL C+C++等 | Python Perl VB PostScript LISP等 |
内存需求 | 编译器比解释器需要更多的内存。 | 与编译器相比,解释器需要更少的内存。 |
修改 | 如果您碰巧在程序中进行了任何修改,您必须重新编译整个程序,即每次修改后都要扫描整个程序。 | 如果您进行了任何修改,并且该行尚未扫描,则无需重新编译整个程序。 |
速度 | 与解释器相比,编译器速度更快。 | 与编译器相比,解释器速度较慢。 |
行刑时 | 通常不需要在执行时每次(如果没有修改)编译程序。 | 每次程序在执行时被扫描和翻译。 |
错误检测 | 编译器会在编译整个程序后,为您提供所有错误的列表。 | 解释器在错误生成时停止翻译,并在错误得到解决时继续。 |
机器代码 | 当所有错误都被删除时,编译器将整个程序转换为机器代码。 | 每次执行程序时;检查每一行的错误,然后将其转换为等效的机器代码。 |
调试 | 编译器调试速度较慢,因为在检查整个程序后会显示错误。 | 解释器有利于快速调试。 |
代码版本 | 编译器生成的汇编代码是机器代码的助记符版本。 | 在汇编器的输出端是由二进制代码表示的汇编器生成的可重新定位的机器代码。 |
...译者对翻译的责任。翻译和翻译的责任是平等的。 汇编程序与解释器的区别 编译程序与解释器的区别 img.centered,.aligncenter{display:block;margin:0 auto 24px}.gallery-caption,.wp-caption-text{font-size:14px;font-size:1.4rem;font-weight:600;margin:0;text-...
...本的技能水平来有效地处理任务。 翻译(translate)和解释(interpret)的区别 •翻译人员必须能够理解外语和自己的语言,以便用一种语言从另一种语言清楚地写出文本或讲话。翻译人员通常把外文翻译成他们的母语。 •口译员必须...
译者与口译语言和语言学是一个非常有趣的研究领域。许多工作机会都在等待那些有不同语言的人。其中包括翻译和口译“两个看似相同但仅与语言学相关的工作”。 虽然笔译和口译是有联系的,但不寻常的是由同一个人做的...
...解释器的语言称为编译语言。 什么是解释性语言(an interpreted language)? 解释器是用其他语言编写并编译成机器可读语言的程序。解释器本身就是机器语言程序,用来从被解释的语言中读取源程序并进行解释。相反,解释语言...
主要差异翻译(main difference translator) vs. 口译译员(interpreter) Translation is the conversion of a material from one language to another language without distorting its original meaning and value. There are two basic forms of translation: translation of written material and t...
编译-解释器与汇编程序的主要区别在于编译程序一次将整个高级语言程序转换为机器语言,而解释器逐行将高级语言程序转换为机器语言,汇编程序将汇编语言程序转换为机器语言。 计算机程序是计算机执行某项任务的一组指...
...另一种语言。有各种类型的翻译器,如编译器、解释器和汇编程序。编译器将整个高级语言源代码转换为机器代码。如果有任何语法或语义错误,程序将不会执行。当编译器检查整个程序时,扫描时间很长,但执行时间较短。因...
...节码,解释器,JIT编译器,JVM,机器码 什么是口译译员(interpreter)? 程序员使用高级编程语言编写计算机程序。他可以很容易地阅读和理解这些程序的语法。但是,CPU不理解这些程序来执行程序中定义的任务。因此,有必要将...
...译语言,解释器,解释语言,机器代码 什么是解释语言(interpreted language)? 解释语言是一种基于解释器的语言。其中,解释器是能够将高级程序转换为机器可理解的机器代码的软件。解释器直接执行程序,并以顺序的方式将每...
...释性和解释性的区别是什么?关键区别的比较 关键术语 Interpretative, Interpretive 解释性和解释性——含义、用法和示例 解释性和解释性是两个意思相同的形容词。这两个词的意思是“相关或提供解释”。这些形容词的起源是拉丁...