Common Language Runtime

Перейти к навигацииПерейти к поиску
Common Language Runtime
Common Language Runtime

Common Language Runtime (англ. CLR — общеязыковая исполняющая среда) — исполняющая среда для байт-кода CIL (MSIL), в который компилируются программы, написанные на .NET-совместимых языках программирования (C#, Managed C++, Visual Basic .NET, F# и прочие). CLR является одним из основных компонентов пакета Microsoft .NET Framework.

Среда CLR является реализацией спецификации CLI (англ. Common Language Infrastructure), спецификации общеязыковой инфраструктуры компании Microsoft.

CLR реализует виртуальную систему выполнения (VES), как определено в стандарте Common Language Infrastructure (CLI), изначально разработанном самой Microsoft. Общедоступный стандарт определяет спецификацию общеязыковой инфраструктуры.[1]

Механизм работы

CLR компилирует код приложения на языке CIL (реализация компиляции которого компанией Microsoft называется MSIL) во время его исполнения, а также предоставляет MSIL-программам (а следовательно, и программам, написанным на языках высокого уровня, поддерживающих .NET Framework) доступ к библиотеке классов .NET Framework, или так называемой .NET FCL (англ. Framework Class Library).

См. также

  • Ngen — программа для компиляции сборок на CIL в машинный код.

Примечания

  1. ◾ Microsoft Visual Programming Language // Robot Development Using Microsoft Robotics Developer Studio. — Chapman and Hall/CRC, 2016-04-19. — С. 41–98. — ISBN 978-0-429-06280-3.

Литература

  • Джеффри Рихтер. CLR via C#. Программирование на платформе Microsoft .NET Framework 4.5 на языке C#. 4-е изд. — СПб.: Питер, 2013. — 896 с.: ил. — (Серия «Мастер-класс»).ISBN 978-5-496-00433-6
  • Джеффри Рихтер. CLR via C#. Программирование на платформе .NET Framework 4.0 на языке C#. 3-е изд. = CLR via C#, 3 ed. — СПб.: Питер, 2011. — ISBN 978-5-459-00297-3.
  • Джеффри Рихтер. CLR via C#. Программирование на платформе .NET Framework 2.0 на языке C# = CLR via C#. — СПб.: Питер, 2008. — ISBN 978-5-7502-0348-2, 978-5-91180-303-2.