首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我应该使用哪种平台:原生C++还是C#?

我应该使用哪种平台:原生C++还是C#?
EN

Stack Overflow用户
提问于 2008-11-07 20:03:07
回答 14查看 3.2K关注 0票数 6

我想开发一个windows应用程序。如果我使用原生C++和MFC作为用户界面,那么应用程序将会非常快并且很小。但是使用MFC是非常复杂的。此外,如果我使用C#,那么应用程序将比本机代码慢,并且它需要.NET框架才能运行。但是使用WinForm开发图形用户界面是非常简单的。你喜欢哪一种?

EN

回答 14

Stack Overflow用户

回答已采纳

发布于 2008-11-07 20:07:28

“快”和“慢”是主观的,特别是在今天的PC上。我不是说故意让它变慢,但在编写托管应用程序时几乎没有你想象的那么多开销。JIT等工作得很好,可以让代码执行得非常快。如果你真的需要的话,你也可以使用NGEN来获得额外的启动速度。

实际上,如果你有时间学习,你可能会考虑WPF而不是winform -这是一个不同的技能集,但可以让你很好地利用图形硬件等。

而且- .NET框架随新安装的操作系统一起提供,并且在之前的版本中仍然很常见。所以对我来说,用C#/.NET开发是一个相当明确的选择,开发一个健壮且经过充分测试的C++应用程序(没有泄漏等)的时间(至少对我来说)比用C#开发要长得多。

票数 19
EN

Stack Overflow用户

发布于 2008-11-07 20:07:45

注意不要优化得太早;您提到了代码的速度,但对于大多数Windows用户界面操作,差异并不明显,因为绘图和磁盘访问的主要瓶颈对于这两种方法都没有什么不同。

我的建议是在用户界面中使用C#和WPF或WinForms。如果您遇到一些速度减慢的问题,请使用分析器来确定位置,然后考虑用本机代码替换一些业务逻辑,但前提是这样做有好处。

票数 6
EN

Stack Overflow用户

发布于 2008-11-07 20:09:53

有许多可能的Windows应用程序,每个应用程序都有自己的要求。

如果您的应用程序需要快速(我所从事的工作也是如此),那么原生C++是一个很好的选择。

如果您的应用程序需要很小(可能是为了在慢速线路上进行真正快速的传输),那么使用任何可以使其变小的应用程序。

如果您的应用程序可能会被大量下载,那么您可能希望对较新版本的.NET保持警惕,因为您的用户可能还没有这些版本。

如果像大多数一样,在可能使用它的系统上,它将足够快和足够小,请使用允许您开发最快和最好的东西。

在几乎所有的情况下,需要优化的是开发人员的努力。使用任何能让高质量的工作最快、最好地完成的东西。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/273451

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档