首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >托管与非托管

托管与非托管
EN

Stack Overflow用户
提问于 2009-02-11 19:27:22
回答 3查看 1.8K关注 0票数 3

你对他们有什么看法?

有时我不得不在工作中编写非托管代码,但对于大型(游戏)项目,它只会变得更加耗时和复杂,这可以通过投入更多的人来解决。

您认为托管代码适用于大规模应用程序吗?(像Photoshop、3ds MaxMayaXSI等应用程序,它们是计算密集型的,但(在一定程度上)没有游戏的实时性要求。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-02-11 19:34:48

我认为出于性能原因使用非托管代码是我听说过的最糟糕的过早优化之一。在你选择一些仅仅因为它可能更快而更难使用的技术之前,你应该非常确定你需要速度。

此外,CLR是如此接近无人管理的性能,100个案例中有99个甚至不应该考虑它。而且,即使您属于需要性能的阵营,您也应该在托管空间中编写大部分代码,然后在分析器告诉您的部分中切换到未管理的部分。

特别是关于游戏:现在已经有一些更大的游戏写在mono上,因为获得了性能,因为它们可以用经过管理的代码编写一切,而不必求助于脚本语言来实现像AI这样的抽象部分。

票数 3
EN

Stack Overflow用户

发布于 2009-02-11 19:39:31

我认为你可以用.NET做大型应用,有很多例子:

与许多其他站点一样,VisualStudio的

  • 部分是用.NET编写的(例如,WinForms编辑器和WPF editor)
  • Expression Blend是用.NET和WPF
  • Stackoverflow使用.NET和ASP.NET编写的。
  • 在VisualStudio 2010中,新的编辑器(替代当前实现)是用.NET和WPF

编写的

关于计算密集型应用程序的一句话:由于代码由解释器编译为机器码,因此大多数计算应该与非托管代码一样快。

另一方面,你有很多优势:

几乎没有内存泄漏(垃圾collector)

  • you出现错误时获取异常,没有information

  • the代码的崩溃在

  • 和x32上运行得一样好,而不需要更改或重新编译x64比C++更容易使用(委托,集合,LINQ application

  • C#
票数 3
EN

Stack Overflow用户

发布于 2009-02-11 19:41:45

因为您提到了PhotoShop……paint.net是一个用C#编写的很好的图形包(虽然没有达到PhotoShop,但仍然令人印象深刻)。

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

https://stackoverflow.com/questions/538365

复制
相关文章

相似问题

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