2

gcovr用来读取程序 foo.c 的覆盖率信息。语法是

gcovr -r . -b --filter=FILE_PATTERN

'-r.' 部分表示当前目录为搜索根目录,'-b' 表示分支覆盖,FILE_PATTERN 部分是只保留与此正则表达式匹配的数据文件,根据 gcovr 的用户指南http://gcovr.com/guide .html

所以我使用以下命令行

gcovr -r . -b --filter='foo\\.c'

但是这个命令没有找到关于 foo.c 检索的信息。看来我使用了错误的正则表达式。你怎么看?

4

1 回答 1

1

除非你的文件名是字面意思: foo\.c
那个正则表达式不匹配。

在正则表达式中,双反斜杠创建一个文字反斜杠。
您可能会混淆正则表达式转义序列和 C/C++ 字符串转义序列。

如果你的文件名是字面意思: foo.c
使用这个正则表达式模式: foo\.c

于 2015-06-28T05:48:12.720 回答