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

Управляемый код - это компьютерный программный код, который требует и будет выполняться только под управлением Common Language Infrastructure (CLI); Виртуальная система исполнения (VES); виртуальная машина , например .NET Core , CoreFX или .NET Framework ; Общеязыковая среда выполнения (CLR); или моно . Термин был придуман Microsoft .

Управляемый код - это результат компиляции исходного кода, написанного на одном из более чем двадцати языков программирования высокого уровня, включая C # , J # и Visual Basic .NET .

Терминология [ править ]

Различие между управляемым и неуправляемым кодом преобладает и актуально только при разработке приложений, взаимодействующих с реализациями среды CLR. Поскольку многие [ какие? ] старые языки программирования были перенесены в среду CLR, дифференциация необходима для идентификации управляемого кода, особенно в смешанной конфигурации. В этом контексте код, который не полагается на CLR, называется «неуправляемым».

Источник путаницы возник, когда Microsoft начала соединять .NET Framework с C ++ и выбрать, как назвать Managed Extensions для C ++ . Сначала он был назван Managed C ++, а затем переименован в C ++ / CLI . Создатель языка программирования C ++ и член комитета по стандартам C ++ Бьярн Страуструп даже прокомментировал этот вопрос: «Что касается сложного и противоречивого вопроса о том, как называть привязку / расширения CLI к C ++, я предпочитаю C ++ / CLI. как сокращение от «Расширения CLI для ISO C ++». Сохранение C ++ как части имени напоминает людям, что является базовым языком, и поможет сохранить C ++ правильным подмножеством C ++ с расширениями C ++ / CLI ». [1]

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

В Microsoft Visual C ++ компилятор может производить как управляемый код, работающий под CLR или неуправляемых бинарных файлов, работает непосредственно на Windows. [2]

Преимущества использования управляемого кода включают удобство программиста (за счет увеличения уровня абстракции, создания моделей меньшего размера) и улучшенные гарантии безопасности в зависимости от платформы (включая реализацию виртуальной машины). Существует множество исторических примеров кода, работающего на виртуальных машинах, таких как язык UCSD Pascal с использованием p-кода и операционная система Inferno от Bell Labs с использованием виртуальной машины Dis . Java популяризировала этот подход с помощью своего байт-кода, выполняемого виртуальной машиной Java .

Google также упомянуть Java и Котлин управляются код в своих Android NDK JNI документов [3] [4]

Ссылки [ править ]

  1. ^ Страуструп, Бьярне (2009-06-29). "Часто задаваемые вопросы Бьярна Страуструпа: что вы думаете о C ++ / CLI?" . Проверено 29 июня 2009 .
  2. ^ Грегори, Кейт (2003-04-28). «Управляемый, неуправляемый, собственный: что это за код?» . Проверено 22 апреля 2009 .
  3. ^ "Советы JNI | Android NDK" . Разработчики Android . Проверено 21 июня 2020 .
  4. ^ «Начало работы с C ++ и Android Native Activities» .

Внешние ссылки [ править ]

  • ОС Microsoft Research, написанная на управляемом коде C # , Channel 9