Нет смысла подсчитывать ошибки в gcc
, потому что обычно он запускается по одному файлу за раз, и проект обычно состоит из множества файлов, поэтому для создания проекта существует много вызовов gcc
.Потенциально существует много ошибок в разных файлах, поэтому имеет смысл, что все, что запускается gcc
(например, make
, или, в свою очередь, Emacs, который запускает make
), должно отслеживать ошибки.Действительно, когда вы запускаете M-x compile
, Emacs подсчитывает ошибки.Откройте compile.el
(M-x find-library RET compile RET
) и посмотрите на переменную compilation-num-errors-found
, которая добавляется в строку режима (наряду с аналогичным количеством предупреждений и информации).Как эти переменные обновляются не очень просто, но в конечном итоге это просто соответствие регулярных выражений на выходе компилятора.