这是试图改写我刚才提到的一个问题.我想知道为什么C似乎是某些胖客户端应用程序的首选语言.我可以想到的最简单的例子是视频游戏和我最喜欢的应用程序VirtualBox.
请不要关闭这个帖子我只是想了解为什么会这样.
解决方法
作为一个专业的游戏开发商,在AAA标题上工作,我可以告诉你.原因1是C和C将编译和运行在任何平台说PS3或NDS.下一个平台制造商只提供强大的C库来与硬件接口.背后的原因是C和C是免费的,而不是由一家公司所有,因为它们是为了接近金属低级程序设计的.这意味着游戏开发者需要知道形成反馈回路的C/C++.然而,现在许多开发人员在C#或
Java中使用它们的工具集,但这是因为性能并不重要.
现在这种姿势似乎对大多数网络开发人员来说都是狂热的,但是游戏需要处理整个复杂的模拟片段,每秒渲染高达60次,很少有网络应用程序必须保持在延迟率之内,所以需求是不同的.同样的原因C生产的Web服务很少.
然而,由于开发速度的提高和微调游戏的能力,高级AI和游戏(规则)都是脚本化的.也是因为这相当于大约15%的资源,所以我们可以在这里浮出水面,让设计人员做他们的工作.还要注意,即使在C中完成,编码一个易于理解的规则系统也需要大致相同的资源.哦,并不是所有的平台允许Jit代码,这将是很好:)
当然,正如提到的内存控制一样,如果使用比硬件提供的更多的1字节内存,它不像PC那样减慢.它崩溃了所以我们喜欢我们的裸指针,自定义分配器和RAII.