我在这里看到了这张漂亮的照片。我了解到所有支持.net语言的编译器都将源代码转换为CIL格式。现在,Microsoft永远不会.NET通过为所有操作系统编写CLR来引入所有操作系统。那么为什么要保留这样的中间代码格式和CLR来执行该CIL。这不是要处理的头痛。微软为什么选择这样?
编辑这种架构有其代价。它会降低性能,不是吗?Java这样做是为了保持平台独立性,因为.NET是出于什么原因呢?为什么不保留一个简单的普通C类编译器。如果我需要添加任何新语言,则任何方式都将需要编译器将代码转换为CIL,这唯一的区别就是目标语言。Tat的全部。