草庐IT

c++ - 如何告诉 gcov 忽略不可命中的 C++ 代码行?

我正在使用gcov来衡量我的C++代码中的覆盖率。我想达到100%的覆盖率,但受到以下事实的阻碍:有些代码行在理论上是不可命中的(需要实现但从未调用的方法,的默认分支switch语句等)。这些分支中的每一个都包含一个assert(false);语句,但gcov仍将它们标记为未命中。我希望能够告诉gcov忽略这些分支。有没有办法给gcov提供这些信息——通过注释源代码,或通过任何其他机制? 最佳答案 请使用lcov。它隐藏了gcov的复杂性,产生良好的输出,允许每个测试的详细输出,具有简单的文件过滤和-ta-taa-已审查行的行标记: