托管vs非托管
问题描述:
答
我认为使用非托管代码的性能的原因是最差的一个过早的优化我听说过,在你选择一些难以工作的技术之前,你应该确信你需要这个速度。
除了CLR非常接近无法满足的性能,在100个案例中,有99个甚至不必考虑这个问题,即使你进入了需要性能的阵营,你也应该将大部分代码写入托管空间,然后切换到解除部分你的分析器告诉你。
关于特别是游戏:已经有上单writen在现在获得的表现,因为他们可以写在manged代码,并没有一切不得不求助于脚本语言对于像抽象的部分大一些头衔AI。
答
我想你可以用.NET来做大型应用程序。有许多例子在那里:
- VisualStudio中的零件都写在.NET(如编辑的WinForms和WPF编辑)
- Expression Blend的是写在.NET和WPF
- 使用#1 .NET和ASP .NET,就像许多其他网站一样。
- 2010年VisualStudio中,新的编辑器(替代目前的实现),是写在.NET和WPF
一个字有关计算密集型应用:由于代码被解释编译成机器代码,最计算应该与非托管代码一样快。
在另一方面,你有很多的优点:
- (几乎)没有内存泄漏(垃圾收集器)
- 你会得到异常的时候什么是错的,没有崩溃没有信息
- 的代码在x32和x64上运行得同样好,无需更改或重新编译应用程序
- C#比C++更容易使用(代理,集合,LINQ等)
- ...
该常见问题指出,应该问的问题可以'回答',而不仅仅是讨论。至少这应该是社区维基。投票结束。 – 2009-02-11 19:33:40
确定已更改为wiki。 – 2009-02-11 19:35:21
FFS为什么关闭它?这是一个wiki,非常有用。 – 2009-02-11 19:58:04