开发者

Does Klocwork detect never called functions?

my code is a mix up of different bits and pieces from older code.

I would like开发者_如何学运维 to erase all never used functions in order to keep the code simple.

Is Klocwork the tool? How do I do it?

Thanks,

Moshe.


You could use the -p or -pg options to gcc to cause code to be added to the prologue and epilogue of every function so that a profile database is written when the program executes. The tool prof is used to analyze the output from -p and gprof for -pg. These tools produce reports showing what functions were used, how many calls, and how much time was spent in each. Unused functions will be missing from the profile database.

You could also use gcov to get a report of what lines of code were actually executed. Functions never called will be executed 0 times....


Klocwork will find unused function/methods. There is a special checker pack you can download on my.klocwork.com (if you have an account) that will give you these special checkers.


I am not familiar with Klocwork, but gcc has the warning option -Wunused-function that detects most uncalled functions. -Wunused-function is part of -Wall.


Klockwork doesnt detect uncalled functions. Its used for static analysis only.

You can check it like this:

foo()
{
   char *a;
   a = malloc(100);
}
bar()
{
   char a[100];
}

main()
{
   bar();
}

This would probably report leak in function foo which is actually uncalled. However as schot suggested you can look into compiler options.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜