如果我使用一个库在C++上创建一个游戏,这个库对windows和osx都是一样的,那么游戏会在windows和os x上都可玩吗?还是只在os x上工作,因为我是用Xcode做的?
在学习了C++的基础和语法之后(我发现语法接近于Java),SDL是一个很好的库吗?
发布于 2014-07-29 11:58:42
是的,C++是一种跨平台语言,在很多平台上都有编译器。
并不是所有的特性/版本/库都在每个编译器中实现,或者在所有平台上都可用,因此在这个意义上:不,C++不是一种跨平台语言。
现在来问你的隐含问题:“我能用SDL在Mac上开发一个图形和声音抽象的游戏,并为Windows编译游戏吗?”
是的,这实际上是可能的,只要您坚持在这两个平台上都可以使用的特性和库的定义子集。使用MXE,您可以在Linux/BSD/Mac OS上为Windows编译Windows,而MXE包括SDL。
发布于 2014-07-29 11:56:28
只要您远离低级(即特定于平台的)操作和特定于平台的系统调用(即只在跨平台库中调用lib函数),您就应该没事。可能有一些小的编译器问题需要您修改一些语法(移植代码很少是复制和重新编译的问题,通常有一两个小问题需要解决),但这应该是微不足道的。
发布于 2014-07-29 12:37:32
是。C++是一种跨平台编程语言.您可以在许多平台上编译C++代码,大多数平台上都有编译器。话虽如此,您编写的代码应该是跨平台的,如果您希望您的代码独立于平台,那么您应该远离平台相关的特性。例如,如果希望能够在MAC或Linux上编译代码,就不应该使用COM。否则,C++和像STL、boost这样的库可以从任何平台上获得。
https://softwareengineering.stackexchange.com/questions/251559
复制相似问题