我正在寻找一种静态分析工具,它可以在这种情况下找到未使用的功能。
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构建的详细信息)上。带有免费营业执照的工具将是完美的。
感谢您的帮助。
答案 0 :(得分:1)
您不需要外部工具,编译器可以为您完成此操作。
如果您将函数声明为static
(或使用匿名名称空间),则编译器可以使用相应的编译器标志(-Wunused-function
)来解决该问题。
prog.c:10:13: warning: unused function 'C' [-Wunused-function]
static void C(void)