我在C ++中有一点点不整洁的项目(Visual Studio解决方案+ CMakeLists.txt)。有很多"包括"来自外部项目,很难说,哪一个真正在使用。
我想删除所有未使用的标头,并与Visual Studio解决方案和CMakeLists.txt中的实现文件相关。
是否有任何工具可用于此类任务?
答案 0 :(得分:1)
针对此问题的商业解决方案是“了解C / C ++”。它是一个扫描完整代码库的应用程序,将所有关系存储在内部数据库中,之后您可以打开所有类型的报告或对其执行查询。我认为它也有可能寻找未使用的类,未使用的方法,死代码......
免费的解决方案可能是使用Visual Studio的/ VERBOSE链接器选项。此选项使链接器打印出最终可执行文件中包含的所有目标文件。您可以使用此输出,将其与所有.CPP文件匹配,然后查看可执行文件中不包含哪些.CPP文件(这可能需要您编写一个小实用程序,或者可能是一些Excel魔法)。