如何发现没有使用的函数?
john 2009-02-03 09:41:38
目前流行的各种C、C++编译器中,如何发现一个项目(工程)中,说明过、定义过,但未使用过(uncalled)的函数?(函数= 各种类型的函数)
以前曾经用过一种编译器,可以产生一个表:程序中所有使用过的符号,所在程序行号。在其中一眼就可以发现,仅仅存在文本中一个行的符号。
如果用其它的辅助工具:
在UNIX系统中,有一个lint工具可用。WIN下有个pclint工具可用。
ps:
1 编译器通过优化选项,在链接的时候,链接器还可以将未调用过的函数剔除。
2 发现“未使的变量”问题。一般编译器,都可以胜任。
摘GCC手册一段:
-Wunused选项
如果某个局部变量除了声明就没再使用,或者声明了静态函数但是没有定义,或者某条语句的
运算结果显然没有使用, 编译器就发出警告.