Для чего используется опция -fsyntax-only в команде gcc?

#gcc

#gcc

Вопрос:

Я читал об этой -fsyntax-only опции на gcc странице руководства команды. Я понимаю, что он показывает ошибки отсутствующих заголовочных файлов и игнорирует ошибки пользовательского кодирования. Мне нужно знать, правильно ли я понимаю или нет?, также мне нужно узнать больше об этой опции. Итак, может ли кто-нибудь объяснить эту опцию?

Ответ №1:

-fsyntax-only не позволяет компилятору генерировать какой-либо объектный код. Кроме этого, он делает то же самое, что и без этого флага.

из Википедии

Компилятор, вероятно, будет выполнять многие или все из следующих операций: лексический анализ, предварительная обработка, синтаксический анализ, семантический анализ (синтаксический перевод), генерация кода и оптимизация кода.

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

В основном он используется для получения сообщений об ошибках и предупреждений о рассматриваемом коде. (Он не будет игнорировать ошибки пользовательского кодирования)