Где хранятся C «объектные» и «исполняемые» файлы в Xcode?

Платформа: OS X: Yosemite 10.10.4; Xcode: v6.4 (6E35b); MacbookPro 15 дюймов Retina (середина 2015 г.).

Факт: компилятор C и компоновщик (по стандарту) создают .o и исполняемые файлы.

Вопросы:

  1. Где (пожалуйста, укажите путь или скажите, где я могу настроить его самостоятельно) эти файлы хранятся в Xcode?
  2. Является ли этот исполняемый файл переносимым, чтобы его можно было запускать в Linux и Windows?
  3. Дает ли Xcode такие же результаты (для объекта и исполняемого файла), как если бы я выполнял компиляцию вручную в терминале MacOS?
  4. Можно ли в Xcode отдельно компилировать и отдельно линковать? Если да - опишите как?
  5. Какой компилятор (тип и версия) Xcode использует для компиляции?
  6. В целом, особенно в отношении языков C и Java, насколько часто программисты, которые разрабатывают не только для OS X или iOS, используют Xcode?

Ответы (1)

  1. Файлы хранятся в каталоге проекта; в Xcode найдите файл, который вы хотите увидеть, где он находится, щелкните его правой кнопкой мыши и выберите «Показать в Finder».
  2. Неа. Вам придется перекомпилировать для других платформ и, возможно, изменить код, чтобы сделать его более переносимым. (Последнее, конечно, зависит от того, какие библиотеки вы используете.)
  3. Вероятно. Xcode может установить некоторые флаги компилятора, которые вы не установили бы в терминале. Посмотрите в настройках вашего проекта для них.
  4. Я ожидал бы этого, но я не знаю, как.
  5. Clang из проекта LLVM. Apple использовала gcc.

Это с моего Mac Yosemite (10.10.4) с Xcode 6.4:

$ лязг --версия
Apple LLVM версии 6.1.0 (clang-602.0.53) (на основе LLVM 3.6.0svn)
Цель: x86_64-apple-darwin14.4.0
Модель потока: posix

Забавно, но gcc также на самом деле clang:

$ gcc --версия
Настроено с помощью: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDK/ MacOSX10.10.sdk/usr/include/С++/4.2.1
Apple LLVM версии 6.1.0 (clang-602.0.53) (на основе LLVM 3.6.0svn)
Цель: x86_64-apple-darwin14.4.0
Модель потока: posix
  1. Если вы хотите разрабатывать нативные приложения для Mac или iOS, вам в значительной степени придется использовать Xcode. Приложения Java не являются нативными, и вы не можете писать код Java в Xcode. (Раньше можно было писать Java в Xcode еще до OS X 10.4, до того, как мост Cocoa-Java устарел.)