我是新来的,我对Linux和软件开发还没有太多的经验和知识。
我正在考虑开始学习软件和游戏开发,我目前正在建立一个个人电脑,以做到这一点。我想开发一个支持三大平台(Windows、macOS和Linux)的软件或游戏。
我可以顺利地开发软件或游戏,以支持三个主要平台只从一个操作系统?就像我使用一个Linux (里面有很多开发工具),并且想要开发同样支持Windows、macOS和其他Linux发行版的软件或游戏,我能做到这一点吗?还是我只需要安装所有的OSes (每个操作系统中都有所有的开发工具),并在每个操作系统中为每个支持构建它们?
发布于 2023-04-13 11:40:15
当然,你可以。
要做到这一点,您需要一种在所有目标机器上都能理解的通用语言。一旦你有了这样的语言-在上面写一个软件,而不使用特定于操作系统的代码,你就完成了。
你猜怎么着--从C,C++,Java,还有更多的语言开始,有很多这样的语言。您还可以使用多平台框架(语言加上一组库和工具)来执行多平台项目。
更好的是,还有为游戏的多平台创建而设计的框架。此列表中的首位当前由Unity持有。它将为您提供许多特定于游戏的功能和对几乎所有现代操作系统的支持。Win/Max/Linux是一个免费的Unity版本,另有十几个(包括XBox/PlayStation/等等)在商业版本中。
发布于 2023-04-14 07:21:03
发布于 2023-04-15 15:36:22
不幸的是,白猫头鹰的回答过于乐观。从理论上讲,这就是事情的运作方式。实际上,情况并非如此,至少在某种程度上是这样的。如果您尝试跨平台开发,有许多小问题和兔子洞等着您。
例如,.NET应该是跨平台的,但它不支持Linux上的本地GUI应用程序开发。Blazor在理论上应该可以工作,但我过去经常遇到Linux特定的bug。另外,忘记Visual,您只会得到Visual代码,它的功能打包更少,设置起来也更不方便。
说C和C++是独立于平台的是.嗯,甚至不太真实。Philing评论道:
将C/ C++定义为通用语言有点误导。核心语言是通用的,这就是C设计的目的。然而,如果没有与操作系统的交互,任何实际的C程序都不会真正存在,而且Windows从来没有与Linux有过任何真正的重叠。
即使是核心语言也不是完全通用的,因为在实现定义的行为方面存在差异。
当然,您可以尝试跨平台开发--但是要小心一些微妙的问题,这些问题可能而且很可能会不时出现。
https://unix.stackexchange.com/questions/742772
复制相似问题