0

プロジェクトで静的コード分析を試みましたが、基本的にはすべてが「テンプレート化」されているため、.hppファイルで構成されていますが、残念ながらPSV-Studioからヘッダーファイルを処理できないという情報を取得しています。それは少し奇妙に思えます。最新のC++テンプレートはいたるところにあり、AFAICではほとんどがヘッダーファイルに配置されています。私は何かが足りないのですか?ヘッダーファイルの分析を行うようにPVS-Studioを設定する方法はありますか?

4

1 に答える 1

1

PVS-Studio は、インスタンス化されていない場合でも、「テンプレート化された」コードの分析をサポートします。

ただし、PVS-Studio では、ファイルを分析する前にファイルを前処理する必要があります。つまり、分析の前にすべての #includes とマクロを展開する必要があります。これを実現するために、PVS-Studio はコンパイル可能なファイル、つまり必要なコンパイラ フラグ (定義、インクルードなど) とともにコンパイラに渡されるファイルを必要とします。PVS-Studio にはヘッダー ファイルを正しく前処理するための十分な情報がないため、ヘッダー ファイルが 1 つだけでは不十分です。

「このファイルの分析を開始できません」は、V008 エラーである可能性が高く、プリプロセッサが非 zer コードで終了したことを意味します。これは、分析しようとしているファイルがコンパイルできないことを意味します。通常、PVS-Studio は次のメッセージとしてエラーの原因 (プリプロセッサ プロセスからの stdErr) も出力します。詳細については、こちらをご覧ください。

于 2016-06-28T12:03:18.860 に答える