包括在这个星期的新的Xcode 3.2.1自述说以下内容:
- 静态代码分析完全Xcode的IDE中通过构建集成和下生成菜单或通过自定义生成设置选项分析
- GCC 4.2是缺省的系统编译器10.6 SDK
- 可选LLVM编译器使用两种不同的前端部包括 - 所述锵编译器是一个前沿解析器,它提供显着改善的编译时间。 为了获得最大的兼容性,GCC LLVM编译器利用LLVM后端与GCC 4.2解析器。
- 新的可选锵-LLVM 1.0编译器使用加上LLVM后端编译器为快速编译和快速的可执行代码的快得多锵前端解析器。 许多项目将受益于该编译器的组合,虽然GCC 4.2仍然是系统默认值。 当它遇到C ++代码锵-LLVM 1.0的编译器将回退到使用LLVM-GCC 4.2。
我公司现有的是纯C的Objective-C,和Objective-C ++面向台式机和iphone项目。 有人可以概括为一个高层次的LLVM,海湾合作委员会,CLANG,CLANG-LLVM,WordFoo等之间的差异。 人。 并解释它们是什么,什么时候我们应该使用每个是为了什么? 这将是不错的链接,更详细的解释,但我真的只是寻找一个高层次的概述。
简而言之:
编译器基本上分为两个部分。 一个是前端包含该编程语言解析器和语义分析。 前端产生某种代码的中间表示的。 然后是这需要在前端所产生的东西,可以优化,并最终生成的汇编代码的后端。
- GCC :公知的编译器,同时包含各种语言和前端后端许多处理器架构
- LLVM :一组用于各种架构后端的(和其他低级别的东西)
- 铛 :一个新的前端为C,Objective-C中,和C ++; 使用LLVM后端。 你会得到更可读的错误和编译器警告和更短的编译时间。 您还可能会遇到不兼容问题或错误; 铛是一个非常年轻的项目。
- LLVM-GCC:GCC的前端与LLVM的后端。 LLVM的后端比GCC的更快。
铛的(Objective-)C ++的支持还远远没有完成,因此调用LLVM-GCC在遇到C ++源文件。 它还包含现已集成到Xcode的静态分析。 有人说LLVM的后端产生比GCC的更好的代码,但您的里程可能会有所不同。 LLVM还支持链接时优化(你可以在Xcode的项目设置中启用)。 他们可能会产生更快的代码。
苹果希望铿锵取代GCC在未来,因为他们对GPLv3的政策许可的代码(GCC 4.2是真实GPLv2协议许可的最后一个版本)。