编译语言和解释语言之间有什么区别?

编译语言和解释语言之间有什么区别?,第1张

编译语言解释语言之间有什么区别?

编译语言和解释语言之间有什么区别?

区别 在于语言。它在 执行中

从我的系统中得到了答案,这是一个答案:

  • 在编译的实现中,原始程序被转换为本地机器指令,这些指令直接由硬件执行。

  • 在解释的实现中,原始程序被翻译成其他东西。另一个程序称为“解释器”,然后检查“其他”并执行需要的任何 *** 作。根据语言及其实现,“其他”的形式多种多样。从较流行到较不流行,“其他”可能是

    • 虚拟机的二进制指令,通常称为 字节码 ,在Lua,Python,Ruby,Smalltalk和许多其他系统中也是如此(该方法在1970年代由UCSD P-system和UCSD Pascal普及了)

    • 原始程序的树状表示形式,例如抽象语法树,许多原型或教育性解释程序都采用这种形式

    • 源程序的标记化表示,类似于Tcl

    • 源程序的字符,就像在MINT和TRAC中所做的一样

使问题复杂化的一件事 是可以将字节码转换(编译)为本机指令
。因此,成功的解释实现可能最终会获得编译器。如果编译器在后台动态运行,则通常称为即时编译器或JIT编译器。JIT已针对Java,Javascript,Lua开发,我敢说许多其他语言。到那时,您可以使用混合实现,在该实现中解释一些代码并编译一些代码。



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

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

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

发表评论

登录后才能评论

评论列表(0条)

    保存