2015-06-12 3 views
1

Есть ли способ скомпилировать код C с стандартом c89 NOT c99 в Xcode (или другим способом с терминалом)?Использование c89 в Xcode

Я искал в настройках Xcode, но я не нашел способа выбрать компилятор или стандарт.

+0

Реферирование [этот вопрос] (HTTP://stackoverflow.com/questions/12291202/how-to-add-two-compiler-flags-in-xcode), вы можете добавить флаг компилятора '-std = c89.' –

+0

Искать снова. Выберите свой проект, затем в правой панели выберите «Настройки сборки», под которым выберите «Все/Комбинированные», а затем в поле поиска введите «C language». Варианты языкового диалекта будут доступны для выбора, а c89 - среди них. – WhozCraig

+0

Я пробовал это, но это не сработало. например, я использовал инициализацию in для цикла следующим образом: для (int i = 0; i

ответ

4

Вы должны добавить -pedantic-errors в Другие флаги С в настройках проекта, например, так:

Solution

Конечно, не забудьте установить язык диалектом C к C89 также.

Это даст вам соответствующие ошибки времени компиляции при попытке скомпилировать что-то недопустимое C89.

Возможно, если вы хотите, чтобы Xcode скомпилировал ваш код независимо от несовместимости, но только предупреждайте вас о желтых предупреждениях на проблемных линиях, используйте -pedantic вместо -pedantic-errors.

Вкратце эти флаги делают компилятор более строго ориентированным на языковой стандарт, в отличие от поведения по умолчанию, которое должно пытаться скомпилировать код любым способом.

Я надеюсь, что это помогает :)

Source (даже если они упоминают это в контексте GCC, но одни и те же флаги применяются для Clang а)

+0

Спасибо большое! это было очень полезно. –

Смежные вопросы