如何删除未使用的变量和函数

时间:2011-03-08 09:28:44

标签: optimization analysis coding-style

我开始使用以前程序员的C ++代码。我知道有很多未调用的函数和未使用和/或初始化的变量。我想知道是否有一些工具可以自动“清理”代码并删除所有这些未使用的代码。我在谈论源代码而不是最终构建输出。我更喜欢开源解决方案。

3 个答案:

答案 0 :(得分:0)

许多编译器/链接器在一定程度上为您修剪代码,例如Visual C++/OPT:REF切换。

答案 1 :(得分:0)

您可以通过运行代码的静态分析CPPCheck来获得有用的功能。将所有错误视为警告也有助于识别哪些变量未被使用,因为在解决之前代码将无法编译。

您可以做的另一件事是创建一组单元测试以涵盖预期的功能并通过覆盖工具(例如gcov,如果您正在使用GCC)运行它,这将显示执行的代码行和多少次。

答案 2 :(得分:0)

这是从二进制文件中删除死代码的编译器/链接器作业。 使用gcc flags -fdata-sections和-ffunction-sections编译源代码,然后将二进制文件与标志-gc-sections链接。

我认为您还可以在编译时为静态未使用的变量生成警告。

最后,您可以使用gcov或等效工具进行代码覆盖