Форум программистов, компьютерный форум, киберфорум
.NET
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.97/146: Рейтинг темы: голосов - 146, средняя оценка - 4.97
-21 / 5 / 3
Регистрация: 14.03.2013
Сообщений: 130
1

Кто может объяснить что такое CLR?

30.06.2013, 13:29. Показов 27198. Ответов 6
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Что вообще делает CLR? читала но как то не особо поняла
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.06.2013, 13:29
Ответы с готовыми решениями:

Может кто объяснить, что за дуплексная связь?
Библиотека общая для клиента и сервера: using System.ServiceModel; namespace ClassLibrary { ...

Может кто нибудь объяснить асинхронность?
Здравствуйте, как я не пытался понять, что на самом деле происходит при асинхронном вызове, так и...

Кто может доходчиво объяснить, что такое Delegate?
Только не отсылайте меня пожалуйста на англоязычные сайты. Если это возможно - то вкратце своими...

Что это такое - приложения CLR?
Что это за приложения и как с ними работать??? Если можно то подкиньте книгу..

6
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
Почетный модератор
Эксперт .NET
8721 / 3673 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
30.06.2013, 15:13 4
Цитата Сообщение от Дмитрий3241 Посмотреть сообщение
интерпретирующая и исполняющая код на языке CIL
Ничего она не исполняет - исполняет процессор. 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
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.07.2013, 05:03
Помогаю со студенческими работами здесь

Кто-нибудь может подробно объяснить, что такое allocators, зачем это и что с ними делать? Нигде не нашёл инфы
Заранее спасибо.

Кто может объяснить,как построить такое?
В инете ничего дельного не нашел.Смущает то,что здесь дано 3 условия и модули

Кто сможет объяснить что означает в этом коде 0x55555, что это такое, для чего предназначено?
#include "stdafx.h" #pragma warning(disable : 4996) #include <stdio.h> #include <conio.h>...

Кто может объяснить по С# кое что . в скайпе
Кто может объяснить по С# кое что .. в скайпе


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru