NET的 CLR真的是C#开发的??

iloveppmm iloveppmm 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区

虽说许多语言的编译器可以用该语言自身开发。这倒是没什么问题。

可前两天,看到说linux的mono项目中,net的编译器是用c#开发的。

这就不理解了。

因为net与其他语言编译后为机器代码不同,他是中间码。

也就是,即使你用c#写出了具有编译器功能的代码,可编译后也只不过是IL,仍需要在CLR环境下运行。难不成所谓的编译器在另一个框架上运行??

或者,退一步。 即使只是将C# 翻译为IL的这部分, 本身就是IL形式的代码,这部分代码要执行还需要CLR(这得是二进制的吧)。

那在编译时,先将 IL-Complier部分 JIT执行于CLR,然后,在翻译C#到IL。那,效率?
...全文

相关推荐

评论 15
收藏 已收藏
分享
返回顶部
iloveppmm
非技术区 7,776 成员 63,109 内容