-21 / 5 / 3
Регистрация: 14.03.2013
Сообщений: 130
|
|
1 | |
Кто может объяснить что такое CLR?30.06.2013, 13:29. Показов 27198. Ответов 6
Метки нет (Все метки)
0
|
30.06.2013, 13:29 | |
Ответы с готовыми решениями:
6
Может кто объяснить, что за дуплексная связь? Может кто нибудь объяснить асинхронность? Кто может доходчиво объяснить, что такое Delegate? Что это такое - приложения CLR? |
338 / 327 / 154
Регистрация: 29.10.2012
Сообщений: 949
|
|
30.06.2013, 13:39 | 2 |
Если на пальцах - то:
Из c# кода при компилировании получается не бинарный код как например у с или pascal, а так называемый CIL код. CLR - это виртуальная машина котораяя этот код запускает. CLR - является компонентом пакета Microsoft .NET Framework.
1
|
660 / 530 / 137
Регистрация: 07.07.2011
Сообщений: 1,232
|
|
30.06.2013, 13:58 | 3 |
Common Language Runtime (англ. CLR — общеязыковая исполняющая среда) — виртуальная машина, интерпретирующая и исполняющая код на языке CIL, в который компилируются программы, написанные, в частности, на .NET-совместимых языках программирования (C#, Managed C++, Visual Basic .NET, Visual J# и т. п.); компонент пакета Microsoft .NET Framework.
Среда CLR является реализацией спецификации CLI (англ. Common Language Infrastructure), спецификации общеязыковой инфраструктуры компании Microsoft. Механизм работы CLR интерпретирует и исполняет код на языке CIL (реализация компиляции которого компанией Microsoft называется MSIL), а также предоставляет MSIL-программам (а следовательно, и программам, написанным на языках высокого уровня, поддерживающих .NET Framework) доступ к библиотекам классов .NET Framework, или так называемой .NET FCL (англ. Framework Class Library). http://ru.wikipedia.org/wiki/C... ge_Runtime http://ru.wikipedia.org/wiki/C... e_Language http://ru.wikipedia.org/wiki/%... 0%BD%D0%B0
3
|
Почетный модератор
|
|
30.06.2013, 15:13 | 4 |
Ничего она не исполняет - исполняет процессор. CLR же занимается управлением различными специфичным сервисами, одним из которых является JIT-компилятор транслирующий код IL в ассемблер текущей платформы и передающий его процессору на исполнение.
3
|
660 / 530 / 137
Регистрация: 07.07.2011
Сообщений: 1,232
|
|
30.06.2013, 21:10 | 5 |
@NickoTin, абсолютно от себя ничего не взял, все с википедие. Если с чем то не согласен, то можешь исправить.
0
|
NickoTin
|
30.06.2013, 23:57
#6
|
Не по теме: Дмитрий3241, я понимаю и никаких претензий не предъявляю :) Я бы просто дал ссылки на английскую википедию, там об этом пишется, хоть и не полностью.
1
|
464 / 341 / 19
Регистрация: 26.05.2009
Сообщений: 2,696
|
|
01.07.2013, 05:03 | 7 |
Когда компилируется C# код в *.exe в студии, получается не файл с ассемблерными инструкциями для процессора, а с инструкциями для виртуальной машины, которой является CLR. Код с инструкциями отдается на растерзание JIT-компилятору. Он его компилирует и выполняет уже на понятном процессору языке. Этим достигается кросплатформенность и намного уменьшенные исполнительные файлы.
Утрированно и образно это выглядит так: - CLR на каждой отдельной платформе/ОС знает как обращаться именно со своей платформой. - В коде (который в *.exe файле) написано не именно как сделать какую-то операцию, а то, что её нужно сделать, а CLR уже разбирается как это делать. К примеру, в файле не написано как записывать данные в память. Там просто написано "записать ЭТИ данные ТУДА", а CLR сама решает как это сделать, т.к. она знает больше о платформе, чем код из исполняемого файла. В итоге один и тот же код может работать на разных платформаф, т.к. он не привязан "знанием" только одной платформы. Рассказал всё очень образно, так что не пинайте сразу
12
|
01.07.2013, 05:03 | |
01.07.2013, 05:03 | |
Помогаю со студенческими работами здесь
7
Кто-нибудь может подробно объяснить, что такое allocators, зачем это и что с ними делать? Нигде не нашёл инфы Кто может объяснить,как построить такое? Кто сможет объяснить что означает в этом коде 0x55555, что это такое, для чего предназначено? Кто может объяснить по С# кое что . в скайпе Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |