膨大な数の警告を生成するC ++プロジェクトに取り組んでいます。ほとんどの警告は、コードの作成後に表示されました。
- 当初、プロジェクトはVisual C ++ 8を使用し、間もなく9に切り替えましたが、生成された警告にほとんど違いがありません。警告は修正されるか沈黙されたので、そのとき警告はありませんでした。
- 次に、64ビットターゲットが追加されました。これは、主に型の不適切な使用(
unsigned
vsなどsize_t
)のために、大量の警告を生成しました。コードが目的に沿って機能した後は、誰もそれらを修正するために悩んだり時間をかけたりすることはありませんでした。 - 次に、GCCを使用する他のプラットフォームのサポート(4.5および4.6、最初は4.4)が追加されました。GCCはよりうるさいので、より多くの警告を生成しました。再び、誰もそれらを修正するために悩んだり、時間をかけたりしませんでした。これは、GCCが4.5まで特定のコードの警告を沈黙させるプラグマを持っていなかったという事実によってさらに複雑になり、ドキュメントによると、それはまだ必要なものではありません。
- その間、いくつかの非推奨の警告がポップアップしました。
これで、何千もの警告を生成するプロジェクトができました。また.cpp
、さまざまなコンパイラーによってファイルが数回コンパイルされ、ヘッダーの警告が何度も出力されるため、どのくらいの数の場所であるかさえわかりません。
そのようなものをクリーンアップするためのベストプラクティスはありますか?それともそれを扱った少なくともいくつかの肯定的な経験ですか?