Managed C++ (Managed C++)

Перейти к навигации Перейти к поиску
Managed C++
Класс языка
Тип исполнения компилируемый
Появился в 2002
Выпуск 1.1.4322.573 (1 апреля 2003)
Основные реализации Visual C++
Испытал влияние C++
Повлиял на C++/CLI
Сайт docs.microsoft.com/en-us…

Managed C++ — набор дополнений к языку C++ (полностью называемых Managed Extensions for C++), позволяющих программам, написанным изначально на C++, управляться CLR и работать на платформе Microsoft .NET. Фактически эти дополнения позволяют писать управляемый код (англ. managed code), совместимый с платформой .NET Framework и исполняемый в среде .NET. В процессе разработки .NET 2.0 компания Microsoft пересмотрела эти дополнения, в результате чего код может быть написан проще и легче читается. Новый набор изменений называется C++/CLI и полностью поддерживается начиная с Visual Studio 2005. Таким образом Managed C++ считается устаревшей спецификацией, и код, написанный таким образом, рекомендуется переписать.

Managed C++ играет уникальную роль в разработке программ для .NET, позволяя одновременно работать как с классами и методами языков .NET, так и с обычным кодом C++. Это позволяет переходить на платформу .NET постепенно, используя как старые заготовки на C++, так и навыки программистов, не работающих с управляемыми языками.

Среда разработки Visual C++ .NET компании Майкрософт, поставляемая в составе Visual Studio, позволяет разрабатывать приложения как на Managed C++, так и на обычном (unmanaged) C++. Такие же возможности предоставляет среда разработки Borland C++ Builder 2006.

В отличие от Managed C++, при разработке на обычном C++ программисту доступны все возможности языка C++ без каких-либо ограничений (в частности, множественное наследование, ручное управление памятью и др.), а также все функции Win32 API, но зато недоступны возможности, предоставляемые платформой .NET Framework.

Литература

[править | править код]
  • Stephen R. G. Fraser. Managed C++ and .NET Development: Visual Studio .NET 2003 Edition. — Apress, 2003. — ISBN 978-1-5905-9033-1.