c0d3n4m 发表于 2022-6-20 11:26

为什么游戏开发大多使用C++语言?

到2020了,出现了那么多的语言,为什么绝大多数游戏还是用C++来编写?就以现在热度非常高的英雄联盟来说。它具体的技能和走位是由一定的逻辑处理程序进行设定的,与程序员编辑的逻辑代码有关,游戏的主要框架还是使用C++语言进行编写。


在前面很长一段时间,没有任何一个语言可以像C++一样编译和面向对象。就比如Java和C#虽然都是面向对象的,但是不能编译为C ++之类的机器语言。但这并没有阻止一些游戏开发人员与他们一起开发游戏,但是他们仍然没有赶超C ++。

原因之一就是速度。尽管Java比C ++更优雅,但它速度很慢。真得很慢 C#紧随其后,但它也比C ++慢。因此游戏开发人员坚持使用C ++。

Java,它的一大优势是它是跨平台的。在Windows上编译的同一程序可以在Unix或具有兼容JVM的任何其他操作系统上运行。对于游戏开发者而言,这不是问题,因为他们通常只针对一个操作系统(Windows)。如果他们开发了用于主机的游戏,那么他们会重新编写游戏。无论如何,游戏机都没有JVM。Java通常对于大多数游戏来说太慢了。

现在慢慢的Java和C#的慢速因素已基本消失。尽管它们通常仍不如C ++快,但对于大多数用途(包括视频游戏)而言,它们通常足够快。

但是与此同时发生了一些事情。由于C ++是主要的游戏编程语言,因此围绕着它发展了整个生态系统。所有游戏工具和库仅针对C ++编写。

最终,添加了C#和Java可用性,或者为这些语言开发了新的库,但是到那时,C ++已成为事实上的游戏编程语言。另外,Java和C#(不包括Xbox)都不能在游戏机上使用。

另外,所有游戏开发人员都使用C ++开发。C ++是他们的事。他们没有迫切的理由切换到任何其他语言,因为他们可以让C ++进行所需的工作。这并不是对他们的真正阻碍。另外,他们所有的库和工具都仍使用C ++。为什么会去选择放弃它们而使用慢速语言?

如今,有新一代的开发人员真正喜欢Java和C#(以及Python和移动语言),这可能会改变潮流。Unity也是使用最广泛的游戏引擎之一,它也使用C#。世界上很成功的游戏Minecraft是用Java编写的。

也许有一天会改变,但是就目前而言,C ++仍然是占主导地位的游戏编程语言。但或许要想一直存在下去,能做的也许就是相互学习,更新完善。给人们带来更好的体验。

以上就是本次分享的全部内容,想学习更多C++技巧,还要持续关注六星云课堂!
页: [1]
查看完整版本: 为什么游戏开发大多使用C++语言?