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

问题描述 投票:0回答:1

Apple 大力推动 LLVM 和 Clang。有传言称这是因为 Apple 想要放弃 GCC(由于 GPLv3 许可证问题),转而使用 Clang。

有人知道什么时候会发生吗?

我正在启动一个 C++ 项目,计划将其移植到 iPhone 上,并且不知道是否应该使用 C++0x 功能(至少是 Clang 支持的功能),或者是否应该编写与海湾合作委员会 4.1...

c++ iphone gcc clang
1个回答
13
投票

有传言称这是因为苹果想要 放弃 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 进行的工作编译器。

就时间而言,只有苹果可以告诉你他们什么时候会做某事,甚至他们也无法确切知道什么时候某件事会在黄金时段做好准备。 您可以根据 Xcode 开发者预览版的改进轨迹做出有根据的猜测,但仅此而已。 然而,Clang / LLVM 是 Apple 的发展方向,所以为什么不为此做好计划呢?

© www.soinside.com 2019 - 2024. All rights reserved.