C++:如何从已知"point"开始找出"unused"类

C++: How to find out "unused" classes starting from known "point"

本文关键字:开始 point unused C++      更新时间:2023-10-16

我在c++中有一个有点不整洁的项目(Visual Studio解决方案+ CMakeLists.txt)。有很多来自外部项目的"include",很难说哪一个真正在使用。

我想从Visual Studio解决方案和CMakeLists.txt中删除所有未使用的头文件,以及与它们相关的实现文件。

有工具可以完成这样的任务吗?

这个问题的商业解决方案是"Understand for C/c++ "。它是一个扫描完整代码库的应用程序,将所有关系存储在内部数据库中,之后您可以打开各种报告或对其执行查询。我认为它也有可能寻找未使用的类,未使用的方法,死代码,…

一个免费的解决方案可能是使用Visual Studio的/VERBOSE链接器选项。此选项使链接器打印出最终可执行文件中包含的所有目标文件。您可以获取此输出,将其与所有. cpp文件进行匹配,然后查看可执行文件中没有包含哪些. cpp文件(这可能需要您编写一个小实用程序,或者可能需要一些Excel魔术)。