C ++コードにcppcheckのインライン抑制フィルターオプションを使用する方法は?

StackOverflow https://stackoverflow.com/questions/2956331

質問

CPPCheckを使用して、C ++コードの静的コード分析を行いたいと思います。私は何らかの警告を抑制できることを学びました --inline-suppr 指図。ただし、コメントに入れるべき「suptress_error_id」が見つかりません。

// cppcheck-suppress "suppressed_error_id"
役に立ちましたか?

解決

cppcheckのヘルプによると:

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

したがって、エラーを含むいくつかのコードに対してcppcheckを実行します --xml フラグ、そして生成されたXMLファイルを見て、その名前を見つけます。

他のヒント

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

エラーIDが表示されたビジュアルスタジオ形式の出力の場合、これをコマンドラインに追加します。

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

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

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

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

// cppcheck-suppress bufferAccessOutOfBounds

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

による cppcheck manページ, 、使用できます --template デフォルトの出力を変更してIDを含めるオプション、例えば

cppcheck /the/src/file --template='{file}:{line},{severity},{id},{message}'

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top