【发布时间】:2010-03-14 21:12:45
【问题描述】:
“旧”托管 C++ 和“新”C++/CLI 之间究竟有什么区别?
【问题讨论】:
标签: .net visual-c++ c++-cli managed-c++
“旧”托管 C++ 和“新”C++/CLI 之间究竟有什么区别?
【问题讨论】:
标签: .net visual-c++ c++-cli managed-c++
托管 C++ 是 VS2002 和 VS2003 中的版本。它有竞争条件和其他严重的错误,以及令人困惑。它不再受支持。
在 VS2005 中,微软引入了 C++/CLI,它也被接受为 ISO 标准。 VS2008 和即将推出的 VS2010 也支持它。
他们都有相同的目标,即使用 C++ 语言创建 .NET 程序集。语法不同(C++/CLI 托管代码一目了然更容易与标准 C++ 区分开来),C++/CLI 还具有 .NET 2.0 特性的语法,例如泛型。
【讨论】:
http://msdn.microsoft.com/en-us/library/ms235298.aspx 给出了语法变化的粗略概述。
【讨论】:
托管 C++(C++ 托管扩展)是一组微软特定的关键字,与标准 C++ 语法一起使用,以允许编译托管代码。 IT 的设计使程序员可以尽快开始使用 .NET,并使将本机代码移植到 .NET 平台变得非常容易。它使用 IJW(它只是工作)原理,这使得编程移植到 .NET 更容易,但它也有很多缺陷。
C++/CLI 是一门新语言。它解决了 Managed C++ 的许多问题,使 .NET 编程更强大并被接受为标准,但也引入了新的语法、新的关键字,与旧的 Managed C++ 相比,它与非托管 C++ 的区别更大。
【讨论】: