Ana*_*nth 11 .net c# compiler-construction interpreter jit
我的问题是将IL转换为Machine语言的JIT编译器是完全是编译器还是解释器.
还有一个问题:HTML,JavaScript是编译语言还是解释语言?
提前致谢
Yoc*_*mer 11
JIT(及时)编译器是一个编译器.它进行优化以及编译到机器代码.(甚至称为编译器)
解释HTML,Javascript,它们由Web浏览器按原样读取,并以最小的错误修复和优化运行.
从技术上讲,编译器可以从一种语言翻译成另一种语言.由于JIT编译器接收IL作为其输入并输出本机二进制文件,因此它很容易符合此条件并应称为编译器.
关于Javascript,在这里做出区分更加困难.如果你想要迂腐,就没有"编译语言"或"解释语言"这样的东西.我的意思是,在实践中,大多数语言都有一种运行它们的常用方法,如果是解释器,它们通常称为解释语言,但解释或编译(通常)不是语言本身的特征.Python几乎被普遍认为是解释的,但是可以编写一个将其编译为本机二进制代码的编译器; 它仍然应该得到"解释"的形容词吗?
现在来看看实际的答案:Javascript 通常由一个解释器运行,除其他外,它使用JIT编译器本身.那是解释或编译的吗?你的来电.
来自Wiki just-in-time compiler(JIT),也称为动态转换器,用于改善计算机程序的运行时性能.
Just-in-time compilation是非本机代码(例如字节码)在执行之前转换为本机代码.JIT compiler是编译IL代码并输出缓存的本机代码的人,其中解释器将逐行执行,
即在java的情况下,类文件是解释器的输入.
更多关于JIT的信息:
是的,HTML,JavaScript是解释型语言,因为它们不会编译为任何代码.这意味着脚本无需初步编译即可执行.
这里也很好地阅读JavaScript/HTML而不是编译语言.
| 归档时间: |
|
| 查看次数: |
7007 次 |
| 最近记录: |