什么是编程编译器?(a programming compiler?)

编译器是一种软件程序,它将人类程序员编写的计算机编程代码转换为二进制代码(机器代码),并可由特定的CPU理解和执行。将源代码转换为机器代码的行为称为“编译”。当所有代码在到达运行它的平台之前一次性转换时,该过程称为提前编译(AOT)。...

编译器是一种软件程序,它将人类程序员编写的计算机编程代码转换为二进制代码(机器代码),并可由特定的CPU理解和执行。将源代码转换为机器代码的行为称为“编译”。当所有代码在到达运行它的平台之前一次性转换时,该过程称为提前编译(AOT)。

Focused female engineer working at laptop in workshop

哪些编程语言使用aot编译器?

许多著名的编程语言都需要编译器,包括:

  • Fortran
  • 帕斯卡
  • 汇编语言
  • C
  • C++
  • 敏捷的

在Java和C#之前,所有的计算机程序都是编译或解释的。

解释代码呢?

解释代码执行程序中的指令,而不将它们编译成机器语言。解释后的代码直接解析源代码,与执行时为机器翻译代码的虚拟机配对,或利用预编译代码。Javascript通常被解释。​

编译后的代码比解释后的代码运行得更快,因为在操作发生时它不需要做任何工作。工作已经完成了。

哪些编程语言使用jit编译器?

Java和C#使用即时编译器。即时编译器是AOT编译器和解释器的组合。编写Java程序后,JIT编译器将代码转换为字节码,而不是包含特定硬件平台处理器指令的代码。字节码独立于平台,可以在任何支持Java的平台上发送和运行。从某种意义上说,程序是在两个阶段的过程中编译的。​

类似地,C#使用一个JIT编译器,它是公共语言运行库的一部分,负责管理所有.NET应用程序的执行。每个目标平台都有一个JIT编译器。只要平台能够理解中间字节码语言转换,程序就会运行。

aot和jit编译的优缺点

提前(AOT)编译提供了更快的启动时间,特别是当大部分代码在启动时执行时。但是,它需要更多的内存和磁盘空间。JOT编译必须以所有可能的执行平台中能力最低的为目标。

即时(JIT)编译在目标平台运行时对其进行概要分析,并动态重新编译,以提高性能。JIT生成了改进的代码,因为它面向当前平台,尽管它通常比AOT编译的代码需要更多的时间来运行。

  • 发表于 2021-09-25 10:41
  • 阅读 ( 313 )
  • 分类:编程

你可能感兴趣的文章

编译时间(compile time)和运行时(runtime)的区别

...语法和语义错误而出现的。这些错误避免了编译的成功。编译器指示编译时错误。它将显示错误发生在哪一行的消息。一些常见的编译时错误包括缺少大括号、标识符拼写错误和关键字拼写错误。当编译错误发生时,程序员应该...

  • 发布于 2020-10-19 10:25
  • 阅读 ( 769 )

脚本语言(scripting language)和程序设计语言(programming language)的区别

...连接在一起的方法。脚本语言是集成系统实用程序(包括编译器)执行的粘合语言;命令行解释;基于shell的程序设计;以及用网络语言编写的代码的执行。脚本语言的目的是通过将现有组件连接在一起来开发应用程序,它们通...

  • 发布于 2021-06-26 05:00
  • 阅读 ( 654 )

编译(compiled)和解释语言(interpreted language)的区别

...代码必须转换成机器可读的指令。简而言之,实现通常是编译器而不是解释器的语言称为编译语言。   什么是解释性语言(an interpreted language)? 解释器是用其他语言编写并编译成机器可读语言的程序。解释器本身就是机器语言...

  • 发布于 2021-06-26 05:11
  • 阅读 ( 756 )

编译器解释器(compiler interpreter)和汇编程序(assembler)的区别

...级或汇编程序应转换成机器语言,以便计算机理解指令。编译器、解释器和汇编程序是将高级或汇编语言程序转换为机器语言的翻译器。 覆盖的关键领域 1.什么是编译器-定义,功能2.什么是解释器-定义,功能3.什么是汇编器-定...

  • 发布于 2021-06-30 18:09
  • 阅读 ( 1390 )

翻译(translator)和程序设计语言中的解释器(interpreter in programming language)的区别

...从一种语言转换成另一种语言。有各种类型的翻译器,如编译器、解释器和汇编程序。编译器将整个高级语言源代码转换为机器代码。如果有任何语法或语义错误,程序将不会执行。当编译器检查整个程序时,扫描时间很长,但...

  • 发布于 2021-06-30 18:15
  • 阅读 ( 355 )

编译程序(compiler)和交叉编译器(cross compiler)的区别

编译器和交叉编译器的主要区别在于,编译器是一种将用高级编程语言编写的计算机程序转换成机器语言的软件,而交叉编译器是一种可以为运行编译器的平台以外的平台创建可执行代码的编译器。 程序员用高级语言为计算机...

  • 发布于 2021-06-30 18:25
  • 阅读 ( 344 )

脚本语言(scripting language)和程序设计语言(programming language)的区别

...解释器转换为机器代码,而用编程语言编写的源代码使用编译器或解释器转换为机器代码。 脚本语言是一种在一个文件中包含一系列命令的计算机语言,可以在不编译的情况下执行。编程语言是一种提供规则、语法和命令来开...

  • 发布于 2021-07-01 02:49
  • 阅读 ( 258 )

标记语言(markup language)和程序设计语言(programming language)的区别

...易阅读,程序员也能理解。这些程序也称为源代码。使用编译器或解释器将源代码转换为机器可理解的机器代码。C、C++、java、Python是高级编程语言的一些例子。有用于开发web、桌面、移动应用程序等。 Figure 2: Programming Languages ...

  • 发布于 2021-07-01 02:50
  • 阅读 ( 632 )

石斑鱼类(ide)和编译程序(compiler)的区别

IDE和编译器之间的主要区别在于IDE是一个软件套件,由开发和测试软件应用程序所需的工具组成,而编译器是一个将用高级编程语言编写的源代码翻译成低级机器代码的程序。 IDE提供了一个创建、构建和测试软件应用程序的环...

  • 发布于 2021-07-01 03:13
  • 阅读 ( 390 )

链接器加载程序(linker loader)和编译程序(compiler)的区别

链接器加载程序和编译器之间的主要区别在于,链接器将编译器生成的一个或多个对象文件合并到一个可执行文件中。同时,加载程序将程序放入内存并准备执行,同时编译器将源代码转换为目标代码。 计算机程序是在计算机...

  • 发布于 2021-07-01 04:45
  • 阅读 ( 665 )
黑暗-佟dark为
黑暗-佟dark为

0 篇文章

相关推荐