【问题标题】:Reasons for using C++/CLI instead of c#?使用 C++/CLI 而不是 c# 的原因?
【发布时间】:2011-10-05 02:44:13
【问题描述】:

几年前我编写了一个托管 C++ 应用程序。这只是一个个人项目,我选择托管 c++ 只是因为我觉得它很有趣。我记得感觉它只是比做 c# 花费了更多的时间,而且至少在我的情况下没有任何好处。

什么时候 C++/CLI 在现实中是一个不错的选择? 它有什么好处?

【问题讨论】:

标签: c++-cli


【解决方案1】:

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

使用 C++/CLI 的第二个主要考虑因素是记住 这只是为了成为托管和本地之间的桥梁 世界,而不是你用来写大容量的技术 您的应用程序。当然可以这样做,但你会 发现开发人员的生产力远低于纯 C++ 或 纯 C#/Visual Basic 环境,并且您的应用程序可以运行很多 启动速度较慢。因此,当您使用 C++/CLI 时,只编译您的文件 需要与 /clr 开关,并使用纯托管或组合 纯本机程序集来构建您的核心功能 应用。

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

【讨论】:

  • 这听起来很合理。谢谢! :)
【解决方案2】:

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

Herb Sutter 的设计理性:

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

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

【讨论】:

    猜你喜欢
    • 2011-06-02
    • 1970-01-01
    • 2021-01-07
    • 2017-05-28
    • 1970-01-01
    • 1970-01-01
    • 2013-05-28
    • 2011-07-28
    • 1970-01-01
    相关资源
    最近更新 更多