微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

CLR是C#编译器还是这两个不同的东西?

如何解决CLR是C#编译器还是这两个不同的东西?

我试图了解C#代码的编译和执行过程。网站上有很多有关CLR,CIL,CLS,FCL等的信息,但我找不到有关谁负责CIL中的C#代码编译的信息。是CLR还是c#的单独的特殊编译器?

解决方法

C#代码被编译为CIL字节码。 VB.NET等其他语言也可以编译为CIL字节码。

一旦代码被编译成CIL标准格式,引擎就会运行它。该引擎是CLR或“公共语言运行时”。

这样想:天然气可以由埃克森美孚或瓦莱罗制造,它们从不同的地方获取原油。埃克森美孚(Exxon)或瓦莱罗(Valero)炼油厂将原油转化为天然气后,便可以在其发动机设计为在原油上运行的任何汽车中使用。

以此类推,埃克森美孚(Exxon)和瓦莱罗(Valero)的炼油厂是“编译器”,将其材料转换为通用格式:天然气。 “ Gas”是字节码,可以在为其设计的引擎上运行。 CLR是“引擎”,它可以实际使用并在输出上运行。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。