Управляемый код

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Управля́емый код (англ. managed code) — термин, введённый фирмой Microsoft, для обозначения кода программы, исполняемой под «управлением» виртуальной машины .NET[1][2][3] — Common Language Runtime или Mono. При этом машинный код называется неуправля́емым кодом (англ. unmanaged code).

Слово «управляемый» (англ. managed) здесь относится к методу обмена информацией между программой и исполняющей средой. Оно означает, что в любой точке исполнения управляющая среда может приостановить исполнение и получить информацию, специфичную для текущего состояния. Необходимая для этого информация представлена в управляемом коде на языке Intermediate Language и в связанных с этим кодом метаданных.

С формальной точки зрения управляемым кодом является любой программный код, исполняемый в среде отладчика.

Языки программирования[править | править код]

Управляемый код может быть написан на одном из языков программирования, которые поддерживаются .NET или MONO.

Основные языки, поддерживаемые .NET[4][5]: C#, C++/CLI, Microsoft Visual Basic, JavaScript, а также F# и многие другие.

Проект Mono поддерживает[6] C#, F#, Java, Scala, Boo, Nemerle, Visual Basic.NET, Python, JavaScript, Оберон, PHP, Object Pascal, Lua, Cobra, Synergy-DBL, а также #Smalltalk, DotLisp и другие.

Использование[править | править код]

Среда разработки Microsoft C++ позволяет создавать и управляемый код, и скомпилированный, который запускается на платформах Windows с помощью библиотек среды выполнения C++.

Преимущества использования управляемого кода — удобство программиста (более высокий уровень абстракции), гарантии безопасности, платформная независимость. К недостаткам можно отнести долгое время загрузки и увеличение использования системных ресурсов.

См. также[править | править код]

Примечания[править | править код]

  1. Брэд Абрамс из Microsoft дает определение управляемому коду (англ.) (9 января 2004). Дата обращения: 8 июля 2010. Архивировано 27 августа 2011 года.
  2. Перевод статьи Брэда Абрамса на форуме RSDN (9 февраля 2009). Дата обращения: 8 июля 2010. Архивировано 27 августа 2011 года.
  3. msdn Архивная копия от 18 октября 2016 на Wayback Machine What Is Managed Code?
  4. [1] Архивная копия от 18 октября 2016 на Wayback Machine Languages, tools and frameworks
  5. Programming Languages Архивная копия от 18 октября 2016 на Wayback Machine Visual Studio .NET
  6. mono-project Архивная копия от 30 октября 2014 на Wayback Machine Mono-compatible compilers

Литература[править | править код]

  • Кристиан Нейгел, Билл Ивьен, Джей Глинн, Карли Уотсон, Морган Скиннер. C# 2005 и платформа .NET 3.0 для профессионалов = Professional C# 2005 with .NET 3.0. — М.: «Диалектика», 2007. — ISBN 978-5-8459-1317-3.