17

コードをコンパイルせずに、GCCまたはClangに警告を報告してもらいたいです。
静的分析のみのためにコンパイラを実行することは可能ですか?
コンパイラの警告フラグを渡して、コンパイルしないように指示する方法が見つかりません。

編集:clangに静的アナライザーがあることがわかりました

4

2 に答える 2

18

-fsyntax-onlyGCCとClangの両方に、コンパイラーが実際のコンパイルなしで構文チェックのみを実行するようにするオプションがあります。

于 2012-12-28T20:44:51.283 に答える
3

他の応答に加えて、gccコンパイル中(およびいくつかの最適化パス中)に分析を行っています。したがって、生成されたコードを破棄しても、たとえば次のようにしてすべての警告を受け取ることができます。gcc -Wall -O -c code.c -o /dev/null

MELT(GCCを拡張するための高レベルのドメイン固有言語)など、追加のアプリケーション固有のチェックと警告を実行する追加のパスを使用してGCCを拡張できることに注意してください。

強力な静的解析が必要で、その目的のために追加の注釈を付けたい場合は、FramaCも検討してください。

于 2012-12-29T09:18:18.653 に答える