我目前正在使用C ++进行太空侵略者游戏。我试图找出一种仅使用标准库来创建此游戏的方法,以便可以在Windows和Linux上运行它并获得相同的结果。
所以我的问题是,您可以仅使用编译后可在Windows和Linux上运行的标准库,以C ++编程控制台游戏吗?
答案 0 :(得分:4)
轻松,不。
有终端控制代码,Windows和UNIX都支持其中一些。
两者之间存在一些共性和交叉之处。这将是很多工作,虽然我将是第一个欣赏这种工作的人,但我怀疑它是否会奏效。
您最好花一些时间使用SDL library之类的东西进行跨平台支持。如果这是核心要求,则可以使用SDL使它看起来像终端。
即使在各种UNIX风格(和终端)下,转义码也有所不同。 ncurses库掩盖了很多这种复杂性。
答案 1 :(得分:1)
不。 C和C ++标准库不包含执行以下任何任务的任何功能,所有这些功能对于图形控制台应用程序都是至关重要的:
在Windows系统上,这些功能可作为Console API的一部分使用。此API是特定于Windows的,在非Windows系统上不可用。
在Linux和其他UNIX系统上,这些功能是在终端仿真器中实现的,并且通常使用ncurses库进行访问。该库在非本地环境(例如Cygwin)以外的Windows上不可用。