为什么C#.NET需要在CLR中编译?
我知道JAVA需要用中间语言编译,因为它的虚拟机可以在每个操作系统上运行。但据我所知,CLR只在Windows上运行。那么为什么它需要虚拟机呢?这仅仅是性能问题吗?理论上,CLR可以在任何具有运行CLR的虚拟机的平台上运行。例如,可以用来在Linux上运行CLR代码。像C#这样的托管语言也会被编译成中间语言,就像Java一样。而且还需要一个VM来执行,就像Java一样。还有一些.NET虚拟机运行在其他操作系统上,就像Java一样。Mono是一款众所周知的产品。Net Core 5将在Windows、Linux和Mac上运行:为什么C#.NET需要在CLR中编译?,.net,windows,clr,.net,Windows,Clr,我知道JAVA需要用中间语言编译,因为它的虚拟机可以在每个操作系统上运行。但据我所知,CLR只在Windows上运行。那么为什么它需要虚拟机呢?这仅仅是性能问题吗?理论上,CLR可以在任何具有运行CLR的虚拟机的平台上运行。例如,可以用来在Linux上运行CLR代码。像C#这样的托管语言也会被编译成中间语言,就像Java一样。而且还需要一个VM来执行,就像Java一样。还有一些.NET虚拟机运行在其他操作系统上,就像Java一样。Mono是一款众所周知的产品。Net Core 5将在Window