首页 > 解决方案 > 从 C 项目中删除“下雨天”代码

问题描述

我开始了一份新工作并继承了一个项目,其中包含许多“未雨绸缪”的代码,我的意思是从未调用过的代码。

未被更高级别引用的函数和包含永远无法执行的代码的函数。

还有头文件包含

#define SomethingThatIsNotRefferenced  AsSomeValueUnused

是否有任何工具可以定位和删除此代码?

另一种方法是删除部分:

#if 0

   /* Some code */

#endif  

看看是什么破坏了它,但显然这是一个迭代过程。

标签: c

解决方案


GCC 和 clang 支持-Wunused-function警告(或者只是-Wunused如果您还想了解其他内容,例如未使用的变量和参数)。

编辑:我认为这适用于编译单元(有一些警告),但根据 Jonathan Leffler 对这篇文章的评论,它看起来不像。它仍然很有帮助,所以我会留下答案,但最好看一下callcatcher 之类的东西。


推荐阅读