Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 宇宙是如何可能的?_C#_Clr_Cil - Fatal编程技术网

C# 宇宙是如何可能的?

C# 宇宙是如何可能的?,c#,clr,cil,C#,Clr,Cil,我刚刚看到这是一个用MSIL语言编写的操作系统,我只是想知道这怎么可能?我一直认为MSIL需要一个CLR才能工作,而CLR需要一个支持它的操作系统 谢谢你的解释。请你参考维基百科关于宇宙的文章的第二句和第三句,我在这里为你复制了这篇文章: Cosmos是一个用C#编写的开源操作系统。它还包含一个编译器(IL2CPU),用于将公共中间语言(.NET)字节码转换为本机指令。操作系统与用户程序和相关库一起编译,使用IL2CPU创建可引导的独立本机二进制文件 谁说CLR需要一个操作系统?它只是一个相对复

我刚刚看到这是一个用MSIL语言编写的操作系统,我只是想知道这怎么可能?我一直认为MSIL需要一个CLR才能工作,而CLR需要一个支持它的操作系统


谢谢你的解释。

请你参考维基百科关于宇宙的文章的第二句和第三句,我在这里为你复制了这篇文章:

Cosmos是一个用C#编写的开源操作系统。它还包含一个编译器(IL2CPU),用于将公共中间语言(.NET)字节码转换为本机指令。操作系统与用户程序和相关库一起编译,使用IL2CPU创建可引导的独立本机二进制文件


谁说CLR需要一个操作系统?它只是一个相对复杂的机器的指令集,它知道对象、异常、并发等。为什么像Mono这样的CLR很难实现呢?我认为一个更有趣的问题是如何处理垃圾收集。我相信他们也会说他们有一个基本的GC。好吧,你不会在一个周末内创建一个MSIL JIT编译器,但我认为这样做会使更多的精力投入到重新创建.NET framework的所有库中(并在较小程度上,投入到一个好的JIT中,而不是一个简单的实现中)。Re:“为什么实现CLI规范如此困难?”您最近读过CLI规范吗?这就像五百页的密文。这是一个很大的工作,因为CLR做了很多事情!十多年来,我们已经有数百人在使用它。@Orf:IL2CPU大概是在普通的Windows设备上运行的。它生成一个二进制文件,然后可以安装在客户的机器上。IL2CPU是一种操作系统开发工具,不是操作系统的一部分。