c++ - 在 C++ 代码中查找未使用的函数以测试覆盖率

标签 c++ code-coverage static-analysis

<分区>

我正在寻找一个静态分析工具,它可以在这种情况下找到未使用的函数。

void A(void)
{
    //do something
}

void B(void)
{
    A();
}
void C(void)
{
    B();
}

int main(void)
{
    //doesn't call A(), B(), C()
    return 0;
}

在这种情况下,我想知道函数A、B、C都没有被使用,而一些工具说函数B、C在某处被使用。

我希望这个结果作为原始数据,可以在 Bullseye 重复使用以进行函数覆盖分析。我们的项目运行在 Windows 7,Visual studio 2015/ARMcc(不确定 ARM 构建的细节)。带有免费营业执照的工具将是完美的。

感谢您的帮助。

最佳答案

您不需要外部工具,您的编译器可以为您完成。

如果您将函数声明为 static(或使用匿名命名空间),编译器可以使用相应的编译器标志 (-Wunused-function) 找出它。

prog.c:10:13: warning: unused function 'C' [-Wunused-function]
static void C(void)

关于c++ - 在 C++ 代码中查找未使用的函数以测试覆盖率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53151455/

相关文章:

visual-studio-2010 - 在 Visual Studio 2010 Professional 中为类库使用代码协定(即无静态检查)是多么好的主意?

c++ - 这个收购围栏是否被观察到?

c++ - 指针作为类变量 Qt

c++ - `input_iterator::operator*` 的返回类型?

perl - "Devel::Cover: Can' t 打开 test.pl 用于 MD5 摘要 : No such file or directory"after switching user

code-coverage - guard 声明后的 XCTest 覆盖率

go - go tool cover : Overview of coverage per file的HTML输出

java - 是否可以解耦 Eclipse 的代码索引功能?

go - 如何从 CallExpr 中找到完整的包导入

c++ - 对象是否在初始化列表的末尾完全构造?