2

I'd like gcc to do source code analysis for errors, but do not write any output files (similarly to what splint does). I've found this solution currently:

gcc -Wall -c source.c > NUL
4

2 回答 2

7

有一个-fsyntax-only选项,这正是您想要的:

“检查代码是否有语法错误,但除此之外不要做任何事情。”

/dev/null与使用或NUL作为输出相比,此选项在操作系统之间更具可移植性。

与 LLVM 一起使用的 clang C/C++/ObjC 前端也支持此选项:clang-3.1 -fsyntax-only.

更新:但是您应该知道,某些警告不是由语法解析器生成的,而是由内部编译器阶段生成的。-fsyntax-only例如,语法解析器无法检测到完整的控制流(只有优化器会),并且在选项中不会生成一些警告,如“控制到达非无效函数的结尾” 。

于 2012-04-29T21:48:27.660 回答
3

Well, you could redirect the output to /dev/null

gcc -o /dev/null ...
于 2012-04-29T20:52:07.080 回答