Название темы на самом деле - мой вопрос. И второй вопрос: когда я использую что из этих двух?Разница между управляемыми C++ и C++
ответ
Если не указано, C++ является неуправляемым C++, скомпилированным в машинный код. В неуправляемом C++ вы должны управлять распределением памяти вручную.
Managed C++ - это язык, разработанный Microsoft, который компилируется в байт-код, выполняемый .NET Framework. Он использует в основном тот же синтаксис, что и C++ (отсюда и имя), но скомпилирован таким же образом, как C# или VB.NET; в основном, только изменения синтаксиса, например. используя '->', чтобы указать на объект-объект (вместо «.» на C#), используя «::» для пространств имен и т. д.
Управляемый C++ был создан для облегчения перехода от классического C++ к. NET Framework. Он не предназначен для запуска новых проектов (предпочтительнее C#).
Предупреждение о том, чтобы не использовать управляемый C++ для новых проектов. Начиная с Visual Studio 2008 года Управляемый C++ имеет некоторые функции, превосходящие C#. Они относятся к обработке объектов IDisposable. См. Http://msdn.microsoft.com/en-us/library/ms235315.aspx – morechilli 2008-09-22 13:19:52
Управляемый C++ означает, что выделение памяти, управление, сбор мусора обрабатывается виртуальной машиной. Если в «регулярном» C++ вам придется выделять и освобождать память.
Я думаю, вы должны посмотреть на this question.
«Управляемый C++» относится к языку, который был включен в Visual Studio.NET/VisualStudio.NET 2003. С тех пор он был deprecated, причем последний .net C++ является C++/CLI.
Вы используете управляемый C++, если хотите использовать собственную библиотеку классов C++ из управляемого кода. В этом случае вы переносите неуправляемые классы в управляемые C++, затем вы используете их на любом языке CLR.
Вы можете скопировать родной C++ двумя разными способами. Первый - это компиляция непосредственно машинного кода только с операционной системой между вами и платформой (Hardware). Второе собственное кодирование выполняется с помощью MFC (Microsoft Foundation Classes). Это то же самое, что и в первом примере, за исключением использования MFC.
Управляемый C++ использует CLR (Common Language Runtime). CLR вместе с библиотеками классов .net Framework составляют .NET Framework. Этот управляемый стандарт C++/CLI использует .Net framework вместе с MSIL (Microsoft Intermediate Language). Этот стандарт работает путем сопоставления с машинным кодом только тогда, когда программа выполняется с использованием компилятора только во времени. Если ваш код будет работать на разных аппаратных платформах, использование управляемого кода будет намного проще. Как и во всем, есть небольшая цена, чтобы платить за удобство, поскольку собственный код будет работать быстрее.
- 1. В чем разница между управляемыми C++ и C#?
- 2. разница между C: и C:/
- 3. Есть ли разница между C c; и C c = C();
- 4. Разница в связи между C и C++?
- 5. Указатели void: разница между C и C++
- 6. Разница между C и C++ относительно оператора ++
- 7. разница между статической инициализации C и C++
- 8. VS DataBreakpoints: разница между C и C++
- 9. Разница между WINAPI в C и C++
- 10. Какая разница между C++ и C++ CLI
- 11. Разница между Dev C++ и Visual C++
- 12. Разница между исполняемыми файлами C и C++?
- 13. разница между C и C++ относительно «=» оператор
- 14. разница между C# и asp.net/c#
- 15. Разница между статической переменной C и C++?
- 16. Преобразование между управляемыми и неуправляемыми типами в C++?
- 17. Objective разница между C * и^
- 18. Разница в C++ между '//' и '///'
- 19. разница # C между == и Equals()
- 20. C++ - Разница между (*). и ->?
- 21. разница между [] и [] [] в C#
- 22. Разница между/+ и + в C?
- 23. Разница между c() и append()
- 24. Разница между}; и} в C++
- 25. Разница между! и ~ in C#
- 26. Разница между C++ между 0 и 0.0
- 27. Наследование между управляемыми и неуправляемыми классами
- 28. Разница между C++ между адресом
- 29. Разница между шифрованием AES/CBC между реализациями C и C#
- 30. C++ вектор с управляемыми объектами
Управляемые расширения для C++ или просто управляемые C++ - это устаревший набор отклонения Microsoft от C++, включая грамматические и синтаксические расширения, ключевые слова и атрибуты, чтобы привести синтаксис и язык C++ к .NET Framework. Эти расширения позволяют использовать код C++ для среды Common Language Runtime (CLR) в виде управляемого кода, а также продолжать взаимодействие с собственным кодом. Управляемый C++ не был полностью автономным или полноценным языком программирования. https://en.wikipedia.org/wiki/Managed_Extensions_for_C%2B%2B#.E2.80.A6to_C.23 – 2015-11-13 17:33:11