Xcode 3使用GCC作为编译器。
编译器分为编译器前端和编译器后端。编译器前端负责展开预处理宏定义并将源代码转换成中间代码。编译器后端负责生成并优化机器代码。
GCC实际上是后端编译器。主要用来编译代码而不是解析代码。这意味着苹果必须便携自己的解析器来提供调试功能。
Xcode 4和iOS 5发布,默认编译器为LLVM 3.0。LLVM的代码生成效率不如GCC,但具有更好的模块化和可拓展性。编译速度也是GCC的两倍以上。
有很多为LLVM开发的编译器前端,其中有苹果赞助的Clang。支持增量编译,可以在IDE中近乎实时的提供编译错误。
使用LLVM的另一个目的是对Objective-C语言有更大的控制权。如在Xcode 4.4中,苹果增加了对字面量的支持。只有对编译器有控制权,才能对语言做出改变。
Xcode 4内置Git版本管理系统。
ARC:由编译器自动插入retain,release内存管理语句。不是垃圾回收。