2008-11-17 39 views
5

我没有看到任何真正的优势,除了你有一个C++语法,以及它,像指针和析构函数的事实。通过标准C++或C#使用C++/CLI有什么好处吗?

+0

当你说“微软的C++味道”时,你是在谈论MSVC本地C++编译器中的MS扩展,还是你在谈论C++/CLI? – 2008-11-17 23:29:42

+0

我指的是编译到.NET运行时的Visual C++。我认为这是C++/CLI。 – 2008-11-18 00:54:39

回答

13

如果你在谈论为什么要使用C++/CLI在C#中,我认为主要的原因是:

  1. 它可能会为C++开发人员更自然(虽然我认为这可能不是真)
  2. C++/CLI有弥合本机和托管环境(使用“IJW”很不错的功能 - 它只是工作 - 技术)

我认为,香草萨特也许给出了最好的概述:

A Design Rationale for C++/CLI

如果你想知道为什么你可能想使用原生C++在C#/。NET,这归结为你为什么会想一个管理环境(安全,更轻松的开发)通过本机代码(绝对的控制权,可能的速度优势)。每个人都有自己的观点,而且答案真的取决于你想要发展什么以及你的市场可能是什么。

0

我不认为将不同风格的C++相互比较是与将C++与C#进行比较相同的问题。与不同风格的C++之间的差异相比,C#是一个非常不同的野兽。

6

我想你是指C++/CLI并将其与C#进行比较。 C++/CLI不是C++的“风味”。它是一种全新的语言,完全不同的标准库和完全不同的约定。

在工作中,我们发现C++/CLI作为C++和.NET之间的粘合剂语言是有价值的,但除了接口粘合剂之外,我们不使用它作为任何东西--C#在所有其他应用程序中具有超越C++的巨大优势。

如果你指的是像Adam所描述的MS C++扩展,如果他们让你的工作更容易,没有理由不使用它们。

1

使用C++ \ CLI的真正原因是将DotNet语言与Native C++进行通信,例如许多公司首先将它们的GUI迁移到.Net并让C++中的某些逻辑进行迁移,而C++ \ CLI则是沟通的良好桥梁两个技术之间,你也可以使用COM组件,但由于许多原因,这不是一个好的选择。

相关问题