在不编译代码的情况下,我希望 GCC 或 Clang 报告警告。 是否可以运行编译器仅进行静态分析? 我找不到一种方法来传递编译器警告标志并告诉它不要编译。
编辑:刚刚发现 clang 有一个 静态分析器
GCC 和 Clang 都有一个选项
-fsyntax-only
除了其他回复之外,
gcc
gcc -Wall -O -c code.c -o /dev/null
请注意,您可以使用额外的通道来扩展 GCC,执行一些额外的、特定于应用程序的检查和警告,例如使用 MELT(扩展 GCC 的高级领域特定语言)。
如果您想要强大的静态分析并愿意为此目的提供额外的注释,也可以考虑Frama C。