2010-09-08 18 views
6

Sind die drei von Xcode unterstützten Compiler-Varianten (gcc 4.0, 4.2 und llvm) binärkompatibel? Welche Art von Problemen und Grenzfällen sollte ich beachten, wenn ich ein Multi-Library-Projekt mit den neuesten Xcode-Tools auf den neuesten Stand bringe?GCC 4.0, 4.2 und LLVM ABI Kompatibilität

Antwort

4

Clang ist ABI-kompatibel mit Code, der von gcc generiert wird. Clang enthält auch experimentelle Unterstützung für einige neuere Objective-C ABIs, aber das Kompilieren für die neuere ABI erfordert Flags, und generierter Code kann trotzdem mit GCC-generiertem Code gemischt werden.

+3

Ist C++ - ABI von Clang mit g ++ kompatibel? – osgx

+0

clang ist ein C++ - Compiler :) – cubuspl42

+0

clang ++ ist ein C++ - Compiler. Eine neuere Antwort auf die doppelte Frage http://stackoverflow.com/questions/11682748/is-clang-abi-same-as-g erklärt, dass es für C++ keine Verpflichtung zur vollständigen ABI-Kompatibilität zu geben scheint. – andybuckley

1

Ein kleiner Fehler ist, dass, wenn Sie PowerPC-Code kompilieren möchten, die auf einem G3 ausgeführt werden, müssen Sie GCC 4.0 verwenden.

+0

Danke für den Tipp; Wir werden PPC nicht kompilieren müssen, wenn Apple nicht zurückkehrt, aber im Allgemeinen gut zu wissen ist. – fbrereto