私は最近、clang++ の静的アナライザー機能を発見しました。これは、潜在的なバグを見つけるために細かい櫛でコードを調べるのに最適です。Makefile で次の行のコメントを外します。
CXXFLAGS += --analyze -Xanalyzer -analyzer-output=text
ほら、私は詳細なバグチェックモードに入っています。
ただし、これに関する 1 つの小さな問題は、アナライザーが特定の .cpp ファイルで問題を検出しない場合は常に、.o ファイルを生成しないことです。
通常、それは大したことではありません (実際の実行可能ファイルをビルドするために、上記の行にいつでも再コメントできます) が、通常、アナライザーの警告が表示された場合、最初にやりたいことは、根本的な問題を修正することです。そして、make を再実行します。
...これは機能しますが、.o ファイルが生成されていないため、make は、前回の実行以降に実際に変更した .cpp ファイルだけでなく、最初からすべての .cpp ファイルの再分析を開始します。これは、変更されていない .cpp ファイルを再チェックするのにかなりの時間を費やすことになることを意味します。
私の質問は、静的アナライザーに .o ファイル (有効なオブジェクト ファイルである必要はなく、タイムスタンプが更新された任意のファイルである必要はありません) を出力させる方法はありますか? .cpp ファイルを再処理する必要はありませんか? (つまり make Make は通常のコンパイル時と同じように動作します)