Эта статья требует дополнительных ссылок для проверки . ( апрель 2019 г. ) ( Узнайте, как и когда удалить это сообщение-шаблон ) |
Управляемый код - это компьютерный программный код, который требует и будет выполняться только под управлением 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]
Ссылки [ править ]
- ^ Страуструп, Бьярне (2009-06-29). "Часто задаваемые вопросы Бьярна Страуструпа: что вы думаете о C ++ / CLI?" . Проверено 29 июня 2009 .
- ^ Грегори, Кейт (2003-04-28). «Управляемый, неуправляемый, собственный: что это за код?» . Проверено 22 апреля 2009 .
- ^ "Советы JNI | Android NDK" . Разработчики Android . Проверено 21 июня 2020 .
- ^ «Начало работы с C ++ и Android Native Activities» .
Внешние ссылки [ править ]
- ОС Microsoft Research, написанная на управляемом коде C # , Channel 9