Есть ли способ скомпилировать код C с стандартом c89 NOT c99 в Xcode (или другим способом с терминалом)?Использование c89 в Xcode
Я искал в настройках Xcode, но я не нашел способа выбрать компилятор или стандарт.
Есть ли способ скомпилировать код C с стандартом c89 NOT c99 в Xcode (или другим способом с терминалом)?Использование c89 в Xcode
Я искал в настройках Xcode, но я не нашел способа выбрать компилятор или стандарт.
Вы должны добавить -pedantic-errors
в Другие флаги С в настройках проекта, например, так:
Конечно, не забудьте установить язык диалектом C к C89 также.
Это даст вам соответствующие ошибки времени компиляции при попытке скомпилировать что-то недопустимое C89.
Возможно, если вы хотите, чтобы Xcode скомпилировал ваш код независимо от несовместимости, но только предупреждайте вас о желтых предупреждениях на проблемных линиях, используйте -pedantic
вместо -pedantic-errors
.
Вкратце эти флаги делают компилятор более строго ориентированным на языковой стандарт, в отличие от поведения по умолчанию, которое должно пытаться скомпилировать код любым способом.
Я надеюсь, что это помогает :)
Source (даже если они упоминают это в контексте GCC, но одни и те же флаги применяются для Clang а)
Спасибо большое! это было очень полезно. –
Реферирование [этот вопрос] (HTTP://stackoverflow.com/questions/12291202/how-to-add-two-compiler-flags-in-xcode), вы можете добавить флаг компилятора '-std = c89.' –
Искать снова. Выберите свой проект, затем в правой панели выберите «Настройки сборки», под которым выберите «Все/Комбинированные», а затем в поле поиска введите «C language». Варианты языкового диалекта будут доступны для выбора, а c89 - среди них. – WhozCraig
Я пробовал это, но это не сработало. например, я использовал инициализацию in для цикла следующим образом: для (int i = 0; i