我应该开始使用我的C++ iPhone项目定位Clang/LLVM吗?

peo*_*oro 5 c++ compiler-construction iphone gcc clang

Apple正在推动LLVM和Clang.谣言说,这是因为Apple希望放弃GCC(由于GPLv3许可证问题),并转而使用Clang.

任何人都知道它何时会发生?

我正在开始一个C++项目,我打算在iPhone上移植,不知道我是否应该使用C++ 0x功能(至少是Clang支持的功能),或者我是否应该编写与GCC兼容的代码4.1 ...

Bra*_*son 13

谣言说,这是因为Apple希望放弃GCC(由于GPLv3许可证问题),并转而使用Clang.

这不是谣言,这是苹果公司声明的立场.GCC上的GPL许可证阻止Apple在其开发工具中彻底集成编译器/解析器.使用Clang/LLVM,它们没有这样的限制,因此可以使用他们的工具做更多的工作(从Xcode 3.2中的集成Clang静态分析器开始,并与Xcode 4更进一步).

除了许可证问题之外,Clang/LLVM构建速度比GCC快得多,并且在Apple的基准测试中(以及我自己的经验)创建了比GCC更好的可执行文件.它还会生成更有用的错误消息.它采用模块化设计,与GCC相比,它也更容易维护和扩展.

Apple已经表示,即将推出的Xcode 4中的LLVM编译器2.0支持除导出模板之外的所有C++功能,并且编译器现在已经自托管了一段时间.如果您不能等待,或者不想尝试Xcode 4开发人员预览,您现在可以通过从主LLVM站点获取源代码来检查编译器.

我强烈建议观看免费提供的WWDC 2010视频,用于会话300 - "开发人员工具状态"和会话312 - "LLVM编译器中的新功能",其中列出了他们目前正在使用LLVM编译器的工作.

时间方面,只有Apple可以告诉你什么时候他们会做什么,甚至他们也不知道什么时候会有什么东西准备好迎接黄金时段.您可以根据Xcode开发人员预览的改进轨迹进行有根据的猜测,但这就是全部.然而,Clang/LLVM是苹果的方式,所以为什么不计划呢?