Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.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
.net Mono实现CLR吗?或者至少是一些非托管内部调用?还是什么都没有?_.net_Performance_Mono_Ilspy - Fatal编程技术网

.net Mono实现CLR吗?或者至少是一些非托管内部调用?还是什么都没有?

.net Mono实现CLR吗?或者至少是一些非托管内部调用?还是什么都没有?,.net,performance,mono,ilspy,.net,Performance,Mono,Ilspy,我们知道C#使用非托管代码(如p/Invoke)或CLR实现的代码(如InternalCall)。我想知道的是mono it是否自行实现了一个完整的CLR,或者只是一些非托管代码,或者什么都没有? 我可以使用.Net Reflector或ILSpy查看托管程序集,但有时由于性能问题,我需要了解CLR如何实现一些非托管代码。比如:System.String.get_lengh()是如何工作的? 任何人都可以回答上面的问题,或者提供一些相关信息。谢谢。是的,mono实现了整个CLR,因此如果您查看其

我们知道C#使用非托管代码(如p/Invoke)或CLR实现的代码(如InternalCall)。我想知道的是mono it是否自行实现了一个完整的CLR,或者只是一些非托管代码,或者什么都没有? 我可以使用.Net Reflector或ILSpy查看托管程序集,但有时由于性能问题,我需要了解CLR如何实现一些非托管代码。比如:System.String.get_lengh()是如何工作的?
任何人都可以回答上面的问题,或者提供一些相关信息。谢谢。

是的,mono实现了整个CLR,因此如果您查看其代码,您会发现类似
String.get_Length()
的方法的实现

但是Mono与Microsoft CLR是不同的实现。这意味着,如果您在Mono中查找
String.get_Length()
的代码,那么Microsoft CLR可能有完全不同的方法来执行相同的操作


另一个选择是研究。它来自微软,可能比Mono更类似于他们的CLR实现,但它仍然不一样。最新的可用版本对应于.Net 2.0。

是的,mono实现了整个CLR,因此如果您查看它的代码,您会发现类似
String.get_Length()
的方法的实现

但是Mono与Microsoft CLR是不同的实现。这意味着,如果您在Mono中查找
String.get_Length()
的代码,那么Microsoft CLR可能有完全不同的方法来执行相同的操作



另一个选择是研究。它来自微软,可能比Mono更类似于他们的CLR实现,但它仍然不一样。最新的可用版本对应于.Net 2.0。

它实现了CLR。看代码不是问题,Mono是开源的。@Hans:我刚得到Mono代码。可以问我应该查看哪个目录吗?是的,reflector在mono程序集上工作,它们是相同的二进制格式(这实际上是整个想法)。mono的System.String在这里实现:-Length属性不是icall。说mono实现CLI比实现CLR更正确吗?它实现CLR。看代码不是问题,Mono是开源的。@Hans:我刚得到Mono代码。可以问我应该查看哪个目录吗?是的,reflector在mono程序集上工作,它们是相同的二进制格式(这实际上是整个想法)。mono的System.String在这里实现:-Length属性不是icall。说mono实现CLI更正确吗,而不是实现CLR?我知道mono不是Microsoft。但有参考资料总比没有好得多。我正在搜索mono代码,仍然在寻找它。即将发布的.Net core 1.0是否会在其CLR相关的工作中使用mono Underflow?吹毛求疵:您对
String.get\u Length()
的第二次引用是否应该是
String.get\u Length()
?如果没有,你能解释一下原因吗?@kevinarpe是的,修正了。谢谢。我知道mono不是微软。但有参考资料总比没有好得多。我正在搜索mono代码,仍然在寻找它。即将发布的.Net core 1.0是否会在其CLR相关的工作中使用mono Underflow?吹毛求疵:您对
String.get\u Length()
的第二次引用是否应该是
String.get\u Length()
?如果没有,你能解释一下原因吗?@kevinarpe是的,修正了。谢谢