Mono реализует CLR? Или, по крайней мере, какой-то неуправляемый InternalCall? Или ничего? - PullRequest
2 голосов
/ 17 февраля 2012

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

1 Ответ

4 голосов
/ 17 февраля 2012

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...