Jump to content

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

(Перенаправлено из неуправляемого кода )

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

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

Терминология

[ редактировать ]

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

Источник путаницы возник, когда Microsoft начала соединять .NET Framework с C++ и выбирать, как назвать управляемые расширения для 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-code и операционная система Inferno от Bell Labs с использованием виртуальной машины Dis . Java популяризировала этот подход благодаря своему байт-коду, исполняемому виртуальной машиной Java .

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

  1. ^ Страуструп, Бьярне (29 июня 2009 г.). «Часто задаваемые вопросы Бьярна Страуструпа: что вы думаете о C++/CLI?» . Проверено 29 июня 2009 г.
  2. ^ Грегори, Кейт (28 апреля 2003 г.). «Управляемый, неуправляемый, собственный: что это за код?» . Проверено 22 апреля 2009 г.
  3. ^ «Советы по JNI | Android NDK» . Android-разработчики . Проверено 21 июня 2020 г.
  4. ^ «Начало работы с C++ и собственными действиями Android» .
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: b935b5f743bcb93d316f8beab2c57a0b__1718350200
URL1:https://arc.ask3.ru/arc/aa/b9/0b/b935b5f743bcb93d316f8beab2c57a0b.html
Заголовок, (Title) документа по адресу, URL1:
Managed code - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)