Wo werden C "Objekt" und "ausführbare" Dateien in Xcode gespeichert?

Plattform: OS X: Yosemite 10.10.4; Xcode: v6.4 (6E35b); MacbookPro 15" Retina (Mitte 2015).

Fakt: Als C-Compiler und -Linker (standardmäßig) .o- und ausführbare Datei(en) erstellen

Fragen:

  1. Wo (bitte Pfad angeben oder angeben, wo ich selbst einen konfigurieren kann) werden diese Dateien von Xcode gespeichert?
  2. Ist diese ausführbare Datei so portabel, dass sie unter Linux und Windows ausgeführt werden kann?
  3. Liefert Xcode dieselben Ergebnisse (für obj und ausführbare Datei), als ob ich die Kompilierung manuell im MacOS-Terminal durchführe?
  4. Ist es in Xcode möglich, separat zu kompilieren und separat zu verknüpfen? Wenn ja - bitte beschreiben Sie wie?
  5. Welchen Compiler (Typ und Version) genau verwendet Xcode zum Kompilieren?
  6. Im Allgemeinen, insbesondere in Bezug auf C- und Java-Sprachen, wie häufig verwenden Programmierer, die nicht nur für OS X oder iOS entwickeln, Xcode?

Antworten (1)

  1. Die Dateien werden im Projektverzeichnis gespeichert; Suchen Sie in Xcode die Datei, die Sie sehen möchten, klicken Sie mit der rechten Maustaste darauf und wählen Sie "Im Finder anzeigen".
  2. Nö. Sie müssen für andere Plattformen neu kompilieren und möglicherweise den Code ändern, um portierbarer zu sein. (Das Letzte hängt natürlich davon ab, welche Bibliotheken Sie verwenden.)
  3. Wahrscheinlich. Xcode kann einige Compiler-Flags setzen, die Sie im Terminal nicht tun würden. Suchen Sie in Ihren Projekteinstellungen nach diesen.
  4. Ich würde es erwarten, aber ich weiß nicht wie.
  5. Clang aus dem LLVM-Projekt. Apple verwendete früher gcc.

Dies ist von meinem Yosemite (10.10.4) Mac mit Xcode 6.4:

$ clang --version
Apple LLVM Version 6.1.0 (clang-602.0.53) (basierend auf LLVM 3.6.0svn)
Ziel: x86_64-apple-darwin14.4.0
Thread-Modell: posix

Amüsanterweise ist gcc eigentlich auch clang:

$ gcc --version
Konfiguriert mit: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/ MacOSX10.10.sdk/usr/include/c++/4.2.1
Apple LLVM Version 6.1.0 (clang-602.0.53) (basierend auf LLVM 3.6.0svn)
Ziel: x86_64-apple-darwin14.4.0
Thread-Modell: posix
  1. Wenn Sie native Mac- oder iOS-Apps entwickeln möchten, müssen Sie ziemlich genau Xcode verwenden. Java-Apps sind nicht nativ, und Sie können keinen Java-Code in Xcode schreiben. (Vor OS X 10.4 konnte man Java in Xcode schreiben, bevor die Cocoa-Java-Bridge veraltet war.)