如何从 gcc 和 g++ 获取错误和警告的计数?

kla*_*aus 5 emacs gcc compiler-errors g++

我已经通过脱脂$ man gcc$ man g++,但还没有发现的东西,将打印错误和警告计数。但是我看到 Emacs 可以在缓冲区中打印错误计数警告计数*compilation*。因此,必须有一个选项,gccg++我失踪,因为我不认为Emacs的本身将执行错误计数,这只是太多的工作。

如何从 gcc 和 g++ 获取错误和警告的计数?

jpk*_*tta 1

计算 中的错误没有多大意义gcc,因为通常它一次运行在一个文件上,而一个项目通常由许多文件组成,因此需要多次调用 来gcc构建项目。不同的文件中可能存在许多错误,因此无论运行什么gcc(例如make,或者运行的 Emacs make)都应该跟踪错误是有意义的。事实上,当您运行 时M-x compile,Emacs 会计算错误。打开compile.el( M-x find-library RET compile RET) 并查看变量compilation-num-errors-found,它是添加到模式行的内容(以及类似的警告和信息计数)。这些变量的更新方式并不是非常简单,但最终它只是匹配编译器输出上的正则表达式。