编译器和口译员

Anonim

编译器与口译员

用高级语言编写程序时,计算机将无法理解它。因此它可以使用,您需要将其转换为计算机可以理解的内容。这是编译器和解释器进入的地方,因为它们都执行相同的功能。编译器和解释器之间的主要区别在于它们执行代码时。使用解释器,代码将立即执行,解释将解释后的代码传递给计算机。相比之下,编译器不执行代码。相反,它将完成的代码写入磁盘。然后可以随时执行写入磁盘的代码。

解释器和编译器之间的主要区别产生了另一个。由于在运行程序时需要解释器,因此如果要在计算机中执行程序,则需要安装解释程序。编译器不是这种情况。程序编译完成后,您只需要编译的程序而不是编译器或原始代码。

使用解释器而不是编译器的一个优点是能够在运行不同操作系统的计算机上执行程序;鉴于你有适当的口译员。编译程序时,它只适用于特定的操作系统,不会运行在其他操作系统上。要使其在另一个操作系统上运行,您需要优化该操作系统的代码并再次编译。

使用解释器的缺点是增加了开销。解释器需要一些处理能力,并且每行代码都将在运行时解释。如果您有一个已编译的程序,则情况并非如此,因为操作系统可以直接读取它并执行每个命令。解释代码的额外步骤使得解释程序的运行速度明显慢于编译代码。解释器也无法利用特定于操作系统的优化,这些优化可以使编译的程序更有效地运行。

在编译器和解释器之间进行选择应取决于您是否需要可移植性或性能。

摘要:

  1. 解释器直接执行代码,而编译器则不执行
  2. 解释器需要在目标机器中可用,而编译器则不需要
  3. 解释程序将在多个平台上运行,而编译程序则不会
  4. 解释程序的运行速度比编译程序慢