gcov foo.cpp を実行すると、foo.cpp だけでなく、foo.cpp で使用されるすべての STL ヘッダーのコード カバレッジ レポートが生成されます。
これを防ぐ方法はありますか?のような標準ライブラリのヘッダーを無視しているよう<ctime>
です。
編集
gcc メーリング リストで次の投稿に出くわしました。
gcov foo.cpp を実行すると、foo.cpp だけでなく、foo.cpp で使用されるすべての STL ヘッダーのコード カバレッジ レポートが生成されます。
これを防ぐ方法はありますか?のような標準ライブラリのヘッダーを無視しているよう<ctime>
です。
編集
gcc メーリング リストで次の投稿に出くわしました。
-r --相対のみ
相対パス名を持つソース ファイルに関する情報のみを出力します (ソース プレフィックスの省略後)。絶対パスは通常、システム ヘッダー ファイルであり、その中のインライン関数のカバレッジは通常、興味深いものではありません。
インライン コードを含むすべての C++ ヘッダー ファイルは、コンパイル時にカバレッジ インストルメンテーションを取得し、結果は gcov で表示されます。1 つの便利なフラグgcov -long-file-names
(または単に -l) は、特定のファイルに含まれる各ヘッダーに対して一意の .gcov 出力ファイルを作成します。ファイルの名前はfoo.cpp##bar.h.gcov
. これにより、後で簡単に削除できますrm \*\\#\\#\*.gcov
(バックスラッシュに注意してください!)
これらのファイルを検出する別の方法は、gcov 出力で番号 0 の行を探すことです。これらには、元のソース ファイルへのフル パスを含む「Source:」などのタグ情報があります。