回复:C++啊~~我的青春啊~~我哭,达人来帮忙看看吧!
回 kkkklll :
如果对M$的IDE对C++的支持不满意,可以用Visual Assist X配合Visual Studio 2005以前的版本,这个为C++定制的插件Intellisence比Visual Studio本身更好;至于Refactor,一些Java IDE早就有了,但除了程序结构很乱的情况,用得上的时候很少。还有编译器,推荐用更标准的Intel C++取代M$自己的(Intel C++编译器可以与Visual Studio集成),像if(i=1)这类错误Intel C++就会产生警告。其次,我列举的这些C++模版库都不是什么底层的东西,STL是标准C++的一部分,提供常用算法和数据结构的高效实现。内存泄漏也可以用STL中的auto_ptr防止。boost是C++标准库的扩展,提供了文本处理、扩展的算法和数据结构、函数对象、内存管理、数学和数值计算、扩展的I/O、词法分析、测试、与Python语言交互等方面的支持。ATL,WTL,DTL分别是用来简化开发COM组件、桌面应用、数据库应用的模版库。如果用C++语言却不用这些强大的库,当然体不到C++的优势了。再次,.net程序发布起来也成问题,现在没有安装.net Framework的Windows用户有很多,.net Framework又有这么多版本,这无疑会造成用户的困扰。最后,即使真的是0.1% 的代码费了99% 的时间,那也用不上C#,更容易使用的语言多的是,例如Python和Ruby,用这些脚本语言更能节约时间,为什么还要用C#呢?
以下引用粘土火星在2006-5-18 8:05:43的发言:
PS:刚刚简单看了一下DX SDK中带的演示 没想到Managed DirectX和原生C++效率差别这么小…… 两个程序基本稳定在150fps左右,Managed DirectX浮动范围大一些,当然我本本机器配置不高(AMD Turion MT-28,ATI X200M 分了32M显存orz),可能差距拉不开。
差距比较大的部分在于内存占用……托管代码明显不如C++ =v=bbb |
这没什么奇怪,Managed Code自身计算量太小,大部分时间都是消耗在DirectX的Native Code上,所以速度差距不明显。演示Managed DirectX API和用C#写游戏是两回事。