Как заставить gcc пропустить ошибки, но все же вывести их. - PullRequest
6 голосов
/ 28 июля 2011

возможно ли заставить gcc сообщать об ошибках, но продолжать компилировать их? По сути, я пытаюсь создать список ошибок в файле .c, но gcc всегда завершается при первой ошибке. Я уже некоторое время гуглю, и это не совсем очевидно, что я могу решить.

Ответы [ 3 ]

2 голосов
/ 28 июля 2011

GCC прекращает работу, когда не может идти дальше.

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

Убедитесь, что вы не включили -Wfatal-errors.

0 голосов
/ 03 октября 2014

С gcc online doc :

-fmax-errors = n

Ограничивает максимальное количество сообщений об ошибках n, после чего GCC освобождает от обязательствне пытаясь продолжить обработку исходного кода.Если n равно 0 (по умолчанию), то количество сообщений об ошибках не ограничено.Если -Wfatal-errors также указан, то -Wfatal-errors имеет приоритет над этой опцией.

0 голосов
/ 28 июля 2011

Современные версии GCC будут пытаться пропустить некоторые ошибки, где это возможно.

Скажем, тело foo(){... содержит const-нарушение.Модуль перевода не создаст объектный файл, но любой достойный компилятор продолжит работу после этой ошибки в bar(){...

Другие ошибки не могут быть исправлены.Если вы пропустите какие-то фигурные скобки, нет никаких оснований предполагать, что делать дальше.

...