c - 从 C 项目中删除“下雨天”代码
问题描述
我开始了一份新工作并继承了一个项目,其中包含许多“未雨绸缪”的代码,我的意思是从未调用过的代码。
未被更高级别引用的函数和包含永远无法执行的代码的函数。
还有头文件包含
#define SomethingThatIsNotRefferenced AsSomeValueUnused
是否有任何工具可以定位和删除此代码?
另一种方法是删除部分:
#if 0
/* Some code */
#endif
看看是什么破坏了它,但显然这是一个迭代过程。
解决方案
GCC 和 clang 支持-Wunused-function
警告(或者只是-Wunused
如果您还想了解其他内容,例如未使用的变量和参数)。
编辑:我认为这适用于编译单元(有一些警告),但根据 Jonathan Leffler 对这篇文章的评论,它看起来不像。它仍然很有帮助,所以我会留下答案,但最好看一下callcatcher 之类的东西。
推荐阅读
- r - 在 R Studio 中自定义制图输出的困难
- c++ - 带有嵌套模板参数的 std::vector
- sharepoint - 如何在基于 SharePoint 的流中修复“拒绝访问 - 错误 403”
- tensorflow - 使用 macOS 安装 tfjs-node 时失败,并且 node-gyp 重建失败
- reactjs - React - 操作 DOM 还是使用状态?
- android - 离子时间选择无法显示 Android 的 AM / PM
- python - 如何在使用 plotly 进行子图绘制时隐藏 x 轴值
- git - git apply patch 不起作用:没有这样的文件或目录
- python - 如何通过每次可以更改的索引删除列表的多个元素?
- java - 如何将本机内存复制到 DirectByteBuffer