30

C++ コードの静的コード分析に Cppcheck を使用したいと考えています。--inline-supprコマンドである種の警告を抑制することができることを学びました。ただし、コメントに入力する必要がある「suppressed_error_id」が見つかりません。

// cppcheck-suppress "suppressed_error_id"
4

4 に答える 4

24

出力テンプレートを変更して、コマンド ラインからエラー ID を表示することができます。これは非常に便利です。

エラー ID が表示された Visual Studio 形式の出力の場合は、これをコマンド ラインに追加します。

--template "{file}({line}): {severity} ({id}): {message}"

これにより、次のような出力が生成されます。

s:\src\jpeg.cpp(123): error (bufferAccessOutOfBounds): Buffer access out-of-bounds: abRY

次の行を追加することで抑制できます。

// cppcheck-suppress bufferAccessOutOfBounds

ソースファイルの前の行へ。

于 2011-07-07T15:07:05.377 に答える
19

cppcheck ヘルプによると:

エラー ID は、抑制したい ID です。これを取得する最も簡単な方法は、 --xml コマンド ライン フラグを使用することです。xml 出力から ID 文字列をコピーして貼り付けます。

そのため、フラグ付きのエラーを含むコードに対して cppcheck を実行--xmlし、生成された XML ファイルを調べてその名前を見つけます。

于 2010-06-02T09:25:30.447 に答える
3

cppcheck man pageによると、オプションを使用して--template、デフォルトの出力を変更して ID を含めることができます。

cppcheck /the/src/file --template='{file}:{line},{severity},{id},{message}'
于 2014-10-04T14:55:41.353 に答える
0

GUI を使用している場合は、抑制したいメッセージを右クリックしてメニューをポップアップ表示できます。「メッセージ ID をコピー」を選択します。「suppressed_error_id」の代わりにメッセージ ID をコードに貼り付けます。

于 2016-10-04T16:58:51.170 に答える