【发布时间】:2011-06-16 09:12:18
【问题描述】:
我有遗留的 C++ 代码,我应该从中删除未使用的代码。问题是代码库很大。
如何找出从未调用/从未使用过的代码?
【问题讨论】:
-
我认为代码查询语言可以让您更好地了解整个项目。我不确定 c++ 世界,但似乎有 cppdepend.com(这不是免费的),看起来足够体面。可能是这样的东西可能是免费的。另一件事是,在进行任何形式的重构之前,如果你现在没有单元测试,那么明智的做法就是进行单元测试。通过单元测试,你可以做的是让你的代码覆盖工具分析你的代码,如果你不能覆盖该代码,它本身将有助于删除死代码。
-
我发现了类似的话题。 stackoverflow.com/questions/229069/…
-
是的,C++ 的有趣之处之一是删除“未使用”的函数仍可能改变程序的结果。
-
@MSalters:这是一个有趣的问题......为此,我们必须讨论为给定调用选择重载集中的哪个函数,对吗?据我所知,如果有 2 个函数都名为
f(),并且对f()的调用明确地解析为第一个,那么仅通过添加名为 @987654326 的第三个函数就不可能使该调用解析为第二个@ - 通过添加第三个功能是“你能做的最糟糕的事情”是导致调用变得模棱两可,从而阻止程序编译。很想看到一个反例(= 被吓坏了)。
标签: c++ optimization dead-code