如何检查出未使用的函数?

hbcb 2006-05-16 09:33:25
c代码稍微长一点的时候,特别是经过了若干修改后的代码,容易使得一些用户的函数过时了而未被调用,但函数却还存在于代码之中,这样用意引起不必要的故障,也使程序变大了

如何检查出代码中未被使用的函数呢?找出来将它删除掉
gcc 用什么参数可以进行最苛刻的语法检查?希望能少产生一些潜在的问题
...全文
181 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
LDD123 2006-05-17
  • 打赏
  • 举报
回复
这个有用,mark
shavey 2006-05-17
  • 打赏
  • 举报
回复
ctags不行吧。如果用第三方软件的话,应该比较容易解决。有很多查看代码覆盖率的软件可以达到楼主的要求。
x86 2006-05-17
  • 打赏
  • 举报
回复
如果是static的-Wall会警告。

一般的函数,我觉得应该有办法,不过没找到。

有一个比较麻烦的办法,就是用sourceinsight或者类似公司做出函数引用图来,应该能看出没有被调用的函数。

还有像ctags这样的工具能得出tags,也许也可以做到这一点。
darkstar21cn 2006-05-17
  • 打赏
  • 举报
回复
Warn whenever a static function is declared but not defined or a non\-inline static function is unused. This warning is enabled by -Wall.

似乎达不到你的要求。
找了一下,似乎没有你想要的参数
hbcb 2006-05-17
  • 打赏
  • 举报
回复
可以解决部分问题,但是还有些问题不知道怎么解决,比如:
test.c

#include <stdio.h>

int test_function( int x ) {
return( ++x );
}

int main(){
printf("Hello!\n");
exit(0);
}

里面的test_function()函数是多余的
gcc -Wall test.c 没有提示任何警告

如何能把象test_function()这样多余的函数找出来呢?
darkstar21cn 2006-05-16
  • 打赏
  • 举报
回复
-Wunused

23,128

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧