为什么默认编译器在调试和发布方面有所不同?

时间:2012-12-11 20:07:04

标签: xcode compiler-construction

我正在使用Xcode 4.5.2。我在Build Settings中看到,用于调试的编译器说"默认编译器(Apple LLVM编译器4.1)"并且发布它是" LLVM GCC 4.2"。为什么4.1用于调试,4.2用于发布?

我不认为我自己改变了,但我想我可能会在不久前改变它并且不记得了。如果我确实改变了它,有人知道哪个更适合发布吗?

1 个答案:

答案 0 :(得分:0)

LLVM-GCC 4.2不是LLVM 4.2。这是带有LLVM后端的GCC 4.2前端。这是Clang在开发过程中使用的中间编译器。我不相信这是默认的;我想你只是在你的项目中有这个设置。 Xcode 4.5.2中的默认值似乎是LLVM 4.1,而Debug和Release之间没有区别。

另请注意,LLVM-GCC在不久的将来会完全消失(也许是Xcode的下一个主要版本)。