C++プロジェクトにPC-Lintを使用しています。デフォルトですべてのエラーメッセージと警告メッセージをオフにする方法はありますか?そうすれば、必要なメッセージを明示的に再導入できますか?
PC-Lintのマニュアルの「エラー抑制オプション」というタイトルの章を読みましたが、wLevelを-w0に設定するのが最善でした。メッセージなし(致命的なエラーを除く)
はい、可能です。-e*
またはを使用するだけ-w0
です。ただし、マニュアルには実際に次のように記載されています(第16章Lintの使用)。
-e *または-w0のようなものですべての警告を単純に抑制しないでください。これは、ハードエラーを偽装し、その後の診断を非常に困難にする可能性があります。
したがって、はい、コードが基本的にクリーンアップされていて、特定のメッセージセットの最近の変更を確認したい場合に使用できます。ただし、コードのクリーンアップを開始したい場合で、デフォルトの警告レベルが原因でメッセージが殺到している場合は、の使用を開始し、そこですべての問題を解決することをお-w3
勧めします。-w1
レベル1で表示される警告/エラーのほとんどは、すべてのヘッダーファイルの検索、すべての暗黙的なマクロの適切な設定、および/または通常使用するコンパイラの模倣に関する問題を十分に正確に示しています。
いつものように、私は自分の作品を宣伝することを躊躇しますが、必要に応じて、 PC Lintの初期展開を処理し、多くの警告に対処するための詳細な手順を文書化した「PCLintの使用方法」PDFを参照してください。あなたが埋もれているかもしれないエラー/情報/メモ。
PC-Lintを新しいプロジェクトに導入し始めたとき、私は次のことを行いました。
Johan Bezemが提案したよう-w1
に、全体に対してレベルチェックを実行しました。これは実際には新しい問題を検出しませんが、プログラムが構文的に有効であることを確認し、構成の問題を検出します。プロジェクトがすでにコンパイルされていると仮定すると、大きな問題はありません。
レベルでテストを再実行し-w2
ます。これにより、53,000の問題が見つかりました。これは、一度に取り組むには少し大変でした。
典型的な不良ファイルを選び、無関係または緊急ではないと思われるエラーを抑制します(たとえば、深刻と思われるファイルが見つかるまで、コマンドラインまたは構成ファイルに
error 525: (Warning -- Negative indentation from line xxx)
追加します。私の場合、これは「for」ループでした。カウントアップする必要があるように見えましたが、実際にはカウントダウンしていました。-e525
error 442: (Warning -- for clause irregularity: testing direction inconsistent with increment direction)
テストレベルをリセットしますが、この場合は-w1
番号で重大な問題に追加します。-w1 +e442
プロジェクト全体で再実行してから、その問題のすべてのインスタンスを修正します。
ステージ2に戻り、再試行してください。
実際の問題を修正し、誤警報の可能性を抑えるというこの組み合わせにより、すぐに番号を管理できるようになります。
時間の経過とともにすべてが改善されるように、作成または変更されたファイルを徹底的に(完全に-w2
または)チェックするスクリプトも実装します。-w3
また、ツールLintProjectは、多数のエラーと最悪の違反者を含むテーブルを使用して、Visual Studioソリューション全体を一度に実行できるため、非常に便利であることがわかりました。