Dotnet CLR将语言代码转换为MSIL.将Java代码转换为独立于平台的本机代码.我们可以将此MSIL转换为本机代码吗?因此,Dotnet将自动变为独立于平台.
Jon*_*eet 14
这里要小心你的术语:
注意,可以解释MSIL和字节码; HotSpot有时会解释,有时是JIT编译,经常JIT编译多次..NET桌面CLR总是在JIT编译一次.
同样值得理解的是,字节码仅与平台无关,只有JVM可用于您感兴趣的平台.对于MSIL也是如此.您可以在Windows上编译C#程序,然后在Linux下单运行它,如果有单声道,为您的平台上构建和如果不使用它们不提供任何单库.
现在至于将MSIL转换为Java字节码......反过来更可行,因为MSIL 通常比Java字节码更强大.例如,MSIL中的自定义值类型和泛型不会轻易转换为字节码.您可能需要更接近用Java编写的CLR .我敢说有一些聪明的可能性,但那里存在根本性的困难.即使反过来也不容易 - 特别是如果Java 7引入了对字节码的动态调用(而.NET中的动态类型由DLR作为库执行).
| 归档时间: |
|
| 查看次数: |
2753 次 |
| 最近记录: |