gpt4 book ai didi

.net - 为什么 .NET 代码编译为 MSIL?

转载 作者:行者123 更新时间:2023-12-04 09:04:45 25 4
gpt4 key购买 nike

首先 .NET 代码编译为 MSIL,然后 JIT 将其转换为机器相关代码。任何人都可以告诉我由于两步编译而获得的所有好处。谢谢

最佳答案

有几个原因。首先也是最重要的可能是让它跨平台。如果 C# 或其他 .NET 语言直接编译为 native 代码,则必须针对它们运行的​​每个平台重新编译它们。使用VM,所有代码都可以保持中间格式,您只需要为每个平台编写一个VM实现。

此外,通过拥有与语言无关的中间语言,您可以拥有许多高级语言(C#、VB.NET、Python 等),所有这些语言都引用其他语言编写的程序集。由于它们都编译成相同的东西,因此它们可以相互无缝地工作。

还有性能优势。 JIT 编译器可以专门针对当时运行代码的机器进行积极的优化。我不知道 .NET JIT 编译器在这个意义上做了多少优化,但是理论上可以带来非常大的好处。

关于.net - 为什么 .NET 代码编译为 MSIL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1926386/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com