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

时间:2018-11-05 09:21:10

标签: 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构建的详细信息)上。带有免费营业执照的工具将是完美的。

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

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

如果您将函数声明为static(或使用匿名名称空间),则编译器可以使用相应的编译器标志(-Wunused-function)来解决该问题。

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