社区
Linux/Unix社区
帖子详情
如何检查出未使用的函数?
hbcb
2006-05-16 09:33:25
c代码稍微长一点的时候,特别是经过了若干修改后的代码,容易使得一些用户的函数过时了而未被调用,但函数却还存在于代码之中,这样用意引起不必要的故障,也使程序变大了
如何检查出代码中未被使用的函数呢?找出来将它删除掉
gcc 用什么参数可以进行最苛刻的语法检查?希望能少产生一些潜在的问题
...全文
181
6
打赏
收藏
如何检查出未使用的函数?
c代码稍微长一点的时候,特别是经过了若干修改后的代码,容易使得一些用户的函数过时了而未被调用,但函数却还存在于代码之中,这样用意引起不必要的故障,也使程序变大了 如何检查出代码中未被使用的函数呢?找出来将它删除掉 gcc 用什么参数可以进行最苛刻的语法检查?希望能少产生一些潜在的问题
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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
为什么
使用
函数
?
现在我们已经讨论了哪些功能以及它们的一些基本功能,让我们仔细看看它们为什么有用。 为什么
使用
函数
? 新的程序员经常问:“我们把代码放在
函数
里面,难道不能直接放在main里面吗?“在许多情况下(特别是简单的例子),它可以。然而,
函数
提供了一些好处,使它们在非平凡程序中非常有用。 组织程序越来越复杂,有所有的代码都生活在main()功能变得越来越复杂。
函数
几乎就像一个小型
什么是
函数
?怎么了解
函数
?为什么需要
函数
呢?我来给你解答(上)
前言 嗨喽!大家好,这里是魔王。
函数
是学习python是必不可少的知识点! 但很多人都不知道
函数
是什么?需要学习哪些东西?所以我的这期文章就诞生了 O(∩_∩)O
函数
一、Python自定义
函数
的基本步骤 1.什么是
函数
函数
,其实我们一开始学 Python 的时候就接触过。 不过我们
使用
的大多数都是 Python 的内置
函数
。 比如基本每个章节都会出现的 print()
函数
。 而现在,我们主要学习是自定义
函数
。 各位有没有想过为什么需要
函数
呢? 如果要想回答这个问题,我们需要先了解
函数
是什么?
函数
就是
gcc不链接未
使用
函数
在一个源文件中,里面有很多
函数
,但是main
函数
没有全部调用,未
使用
的
函数
也会被编译,也会被“打包”到最后的可执行文件中,要去除掉不要的
函数
,方法如下: 1.执行gcc -function-sections <name.c>。其中-function-sections的意思是,将不同
函数
编译到不同的section上面。如果没有这个选项,所有的
函数
都会编译到一个section上面,于是函...
c/c++静态代码
检查
未
使用
函数
简介
检查
unused的代码没有完美的解决方案,介绍比较多的是代码覆盖率
检查
工具,不能通过直接分析代码得到,需要代码运行起来。 静态代码
检查
的方式介绍比较少,这里推荐一种,那就是
使用
cppcheck工具 代码 test.h #ifndef __TEST_H__ #define __TEST_H__ void Test(); int Func(); #endif /*__TEST_H__*/ ...
编译静态库时,如何让编译器自动优化掉未
使用
的
函数
?
-ffunction-sections 编译源文件时,为每个function分配独立的section。 -fdata-sections 编译源文件时,为每个data分配独立的section。 --gc-sections 链接时,以section为最小处理单元,只有当section中有symbol被
使用
,才将该section链接到output中。
Linux/Unix社区
23,128
社区成员
74,510
社区内容
发帖
与我相关
我的任务
Linux/Unix社区
Linux/Unix社区 应用程序开发区
复制链接
扫一扫
分享
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章