编译语言与口译语言

编译语言与口译语言,第1张

编译语言与口译语言

编译语言是一种程序,一旦编译,该程序就会在目标计算机的指令中表示出来。例如,源代码中的加号“ +” *** 作可以直接转换为机器代码中的“ ADD”指令。

一种解释语言是其中所述指令不被目标机器直接执行,而是读取和执行通过一些其它方案(其通常 写入本机机器的语言)。例如,解释器将在运行时识别相同的“
+” *** 作,然后使用适当的参数调用其自己的“ add(a,b)”函数,然后执行机器代码“ ADD”指令。

您可以使用解释语言或编译语言来做任何事情,反之亦然-它们都是图灵完整的。然而,两者在实现和使用上都有优点和缺点。

我将完全概括(纯粹主义者请原谅!),但是,粗略地讲,这是编译语言的优点:

  • 通过直接使用目标计算机的本机代码来提高性能
  • 有机会在编译阶段进行强大的优化

以下是解释语言的优点:

  • 易于实现(编写好的编译器非常困难!)
  • 无需运行编译阶段:可以直接“即时”执行代码
  • 可以更方便地使用动态语言

请注意,诸如字节码编译之类的现代技术增加了一些额外的复杂性-
此处发生的是,编译器针对的是与底层硬件不同的“虚拟机”。然后可以在以后的阶段再次编译这些虚拟机指令,以获取本机代码(例如,由Java JVM
JIT编译器完成)。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/5617092.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-15
下一篇2022-12-15

发表评论

登录后才能评论

评论列表(0条)

    保存