当前的任何一代控制台或手持式编译器都支持C ++ 11吗?


10

我不要求全面支持,但是当前一代是否都支持C ++ 11?我知道VS C ++支持lambda和auto关键字,我相信gcc也支持。当前的任何一代游戏机或掌上电脑(3ds,sony vita)都支持吗?


这属于SO。
共产党鸭子

3
@Duck:我不这么认为,这些编译器在游戏开发社区之外并不广泛可用。如果有的话,他们甚至被锁定在这里的任何人都无法回答。

2
这是一个非常好的问题,如果您刚开始一个项目,并且希望成功,您可能梦想有一天可以购买PS3或Wii devkit并移植您的游戏。如果事实证明您严重依赖其编译器不支持的语言功能,那将是非常痛苦的。
Tinco 2011年

我相信Android工具链支持C ++ 0x。
notlesh 2012年

Answers:


7

大多数主要游戏机都没有公共开发工具包,并禁止共享有关基础SDK的许多信息。由于成本和稳定性的原因,它们的确比其他平台落后了几年。如果您有用于这些控制台的开发套件或获得它们的资源,则应该能够与许可方联系以获取有关C ++ 0x支持的详细信息。

因此,我无法回答任何主要的游戏机,但是对于独立开发而言,也许更重要,但iOS工具链却没有。Xcode仍基于GCC 4.2,并且它们正在通过切换到Clang / LLVM(而不是较新版本的GCC)向前发展。Clang保留了一个支持C ++ 0x的功能矩阵,并且不如GCC完整。选择一些主要功能时,可以使用可变参数模板,自动和右值引用,但不包含constexpr,默认/删除的方法和lambda。


1
另外,如果您是独立开发人员或希望为特定系统进行开发的公司的成员,则可以随时与该公司联系,询问他们是否支持或计划支持某些语言。
延迟

1
作为更新,最新的Clang确实提供了一些非常完整的C ++ 11功能支持。
DeadMG

-1:答案需要更新以反映当前的Clang C ++ 11功能支持。
Nicol Bolas 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.