Моно реализует CLR? Или, по крайней мере, какой -нибудь неуправляемый внутренний кост? Или ничего?

StackOverflow https://stackoverflow.com/questions/9321803

  •  27-10-2019
  •  | 
  •  

Вопрос

Мы знаем, что C# использует неуправляемый код, такой как P/Invoke или CLR реализованный код, такой как InternalCall. Что я хочу знать, так это то, что он является самостоятельным, реализует полный CLR или просто какой -то неуправляемый код или ничего? Я могу использовать .NET Offuctor или Ilspy для просмотра управляемой сборки, но иногда из -за проблем с производительностью мне нужно знать, как CLR реализует какой -то неуправляемый код. Например: как делает System.string.get_lenght ()? Любой может ответить на вопросы выше, или при этом приветствуется инфомации по этому поводу. Спасибо.

Это было полезно?

Решение

Да, Mono реализует весь CLR, поэтому, если вы посмотрите на его код, вы найдете реализацию таких методов, как String.get_Length().

Но Mono - это другая реализация, чем Microsoft CLR. Это означает, что если вы посмотрите на код для String.get_Length() В Mono тогда Microsoft CLR может иметь совершенно другой способ сделать то же самое.

Еще один вариант - это рассмотрение Инфраструктура общего языка общего источника. Анкет Это от Microsoft, и, вероятно, он больше похож на их реализацию CLR, чем Mono, но это все еще не то же самое. И новейшая доступная версия соответствует .NET 2.0.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top