コードをコンパイルせずに、GCCまたはClangに警告を報告してもらいたいです。
静的分析のみのためにコンパイラを実行することは可能ですか?
コンパイラの警告フラグを渡して、コンパイルしないように指示する方法が見つかりません。
編集:clangに静的アナライザーがあることがわかりました
コードをコンパイルせずに、GCCまたはClangに警告を報告してもらいたいです。
静的分析のみのためにコンパイラを実行することは可能ですか?
コンパイラの警告フラグを渡して、コンパイルしないように指示する方法が見つかりません。
編集:clangに静的アナライザーがあることがわかりました
-fsyntax-only
GCCとClangの両方に、コンパイラーが実際のコンパイルなしで構文チェックのみを実行するようにするオプションがあります。
他の応答に加えて、gcc
コンパイル中(およびいくつかの最適化パス中)に分析を行っています。したがって、生成されたコードを破棄しても、たとえば次のようにしてすべての警告を受け取ることができます。gcc -Wall -O -c code.c -o /dev/null
MELT(GCCを拡張するための高レベルのドメイン固有言語)など、追加のアプリケーション固有のチェックと警告を実行する追加のパスを使用してGCCを拡張できることに注意してください。
強力な静的解析が必要で、その目的のために追加の注釈を付けたい場合は、FramaCも検討してください。