fra*_*nja 6 c# c++ user-interface mfc
我想开发一个Windows应用程序.如果我使用本机C++和MFC作为用户界面,那么应用程序将非常快速和微小.但使用MFC非常复杂.此外,如果我使用C#,那么应用程序将比本机代码慢,并且它需要重新运行.NET框架才能运行.但是使用WinForm开发GUI非常容易.你更倾向哪个?
Mar*_*ell 19
"快"和"慢"是主观的,特别是今天的PC.我不是说刻意做事情慢,但没有近书面像你想象的托管应用程序尽可能多的开销.JIT等可以很好地使代码执行得非常快.如果你真的需要,你也可以NGEN提供额外的启动速度.
实际上,如果你有时间学习它,你可能想要考虑WPF而不是winform - 这是一个不同的技能组合,但允许你很好地利用图形硬件等.
此外 - .NET框架附带了新的操作系统安装,并且在那些提前安装它们的情况下仍然很常见.所以对我来说,用C#/ .NET开发是一个相当明确的选择.开发一个强大且经过全面测试的 C++应用程序(没有泄漏等)的时间(至少对我而言)远远大于使用C#的时间.
小心不要太早优化; 你提到代码的速度,但对于大多数Windows用户界面操作,差异并不明显,因为绘图和磁盘访问的主要瓶颈对于这两种方法都没有区别.
我的建议是您使用C#和WPF或WinForms作为您的用户界面.如果遇到一些缓慢的问题,请使用分析器确定位置,然后考虑用本机代码替换某些业务逻辑,但前提是有好处.