可能重复:
C/C++: Detecting superfluous #includes?
How should I detect unnecessary #include files in a large C++ project?
您好,
我一直在关注如何减少C / C ++项目的构建时间。通常,一个好的优化是通过使用前向声明来摆脱#include语句。现在,我想知道:
是否有可以在C / C ++标头之间计算#include依赖关系树的工具 文件(我知道Linux上的mkdep可以这样做),然后启动'删除头文件/重新编译'循环?如果该工具可以尝试从依赖关系树中删除节点(例如从文件中删除#include statments)然后重建项目以查看它是否仍然有效,那将会很棒。
它不应该非常聪明(例如,通过使用指针而不是值等来重构代码以使头文件不必要)但我相信我工作的许多项目都有简单的#include语句。这通常通过重构代码并移动它来实现,但后来忘记将#include取出。
有人知道这样的工具是否存在吗?
答案 0 :(得分:1)
这里有很多类似的问题。到目前为止,没有人提出一个非常好的工具来列出依赖图和hilight multiple includes等(最喜欢的似乎是doxygen),更不用说对文件本身进行编辑了。所以我猜想anser会变成“不” - 但我会很高兴出错!