使用C ++ / CLI而不是c#的原因?

时间:2011-10-04 18:05:30

标签: c++-cli

几年前我写了一个托管C ++应用程序。这只是一个个人项目,我选择托管c ++只是因为我发现它很有趣。我记得感觉它只花了很多时间而不是做c#,至少在我的情况下没有任何东西可以从中获益。

C ++ / CLI什么时候是现实的好选择? 有什么好处?

2 个答案:

答案 0 :(得分:3)

使用C ++ / CLI的唯一原因是您可以在托管应用程序中使用本机库。甚至微软也表示它不应该单独使用:

  

使用C ++ / CLI的第二个主要考虑因素是记住这一点   这只是托管和本机之间的桥梁   世界并不打算成为您用来编写批量的技术   你的申请。当然可以这样做,但你会   发现开发人员的工作效率远低于纯C ++或   纯C#/ Visual Basic环境,你的应用程序运行很多   开机速度较慢。因此,当您使用C ++ / CLI时,只编译您的文件   需要使用/ clr开关,并使用纯托管或   纯本机程序集,以构建您的核心功能   应用

http://msdn.microsoft.com/en-us/magazine/dd315414.aspx#id0070020

答案 1 :(得分:3)

对我来说,用C#编写托管代码要困难得多,但有时C ++提供的性能使其成为更好的选择。我用c ++编写性能关键代码,其余用C#编写。 C ++ / CLI的唯一原因是本机代码和托管代码可以一起使用。

Herb Sutter的设计理性:

  

C ++ / CLI的使命是为C ++程序员提供直接访问,以便使用现有的CLI库,创建新的库,几乎没有性能开销,只需最少的额外表示法,并具有完全的ISO C ++兼容性。

http://www.gotw.ca/publications/C++CLIRationale.pdf