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

Finding unused functions in C++ codes for Testing coverage

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

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)