C++ 如何运行GCC/Clang进行静态分析?(仅限警告)

C++ 如何运行GCC/Clang进行静态分析?(仅限警告),c++,gcc,compiler-construction,clang,static-analysis,C++,Gcc,Compiler Construction,Clang,Static Analysis,在不编译代码的情况下,我希望GCC或Clang报告警告。 是否可以仅为静态分析运行编译器? 我找不到传递编译器警告标志并告诉它不要编译的方法 编辑:刚刚发现clang有一个GCC和clang都有一个选项-fsyntax only,使得编译器只执行语法检查而不进行任何实际编译。除了其他回复之外,GCC还在编译期间(甚至在一些优化过程中)进行一些分析。因此,您可以丢弃生成的代码,仍然可以获得所有警告,例如,gcc-Wall-O-c code.c-O/dev/null 请注意,您可以通过额外的过程来扩

在不编译代码的情况下,我希望GCC或Clang报告警告。
是否可以仅为静态分析运行编译器?
我找不到传递编译器警告标志并告诉它不要编译的方法


编辑:刚刚发现clang有一个

GCC和clang都有一个选项
-fsyntax only
,使得编译器只执行语法检查而不进行任何实际编译。

除了其他回复之外,
GCC
还在编译期间(甚至在一些优化过程中)进行一些分析。因此,您可以丢弃生成的代码,仍然可以获得所有警告,例如,
gcc-Wall-O-c code.c-O/dev/null

请注意,您可以通过额外的过程来扩展GCC,执行一些额外的、特定于应用程序的检查和警告,例如使用(扩展GCC的高级领域特定语言)


如果你想要强大的静态分析并愿意为这个目的给出额外的注释,请考虑。

尝试<代码> -fScript只< < /代码>。@ KerrkSb完美!感谢you@KerrekSB:将其移动到回答:)但是需要注意的是,该标志对于clang更有用,对于G++来说,它不进行模板实例化,这意味着错过了很多可能的诊断