GCC 4.0, 4.2 and LLVM ABI Compatibility
Are the three main compiler flavors supported by Xcode (gcc 4.0,开发者_开发知识库 4.2, and llvm) binary-compatible with one another? What kind of gotchas and corner cases should I be aware of when bringing a multi-library project up to speed with the most recent Xcode tools?
Clang is ABI-compatible with code generated by gcc. Clang also includes experimental support for some newer Objective-C ABIs, but compiling for the newer ABI requires flags, and generated code can be mixed with GCC-generated code anyway.
A minor gotcha is that if you want to compile PowerPC code that will run on a G3, you must use GCC 4.0.
精彩评论