自动删除不需要的#include语句

7 浏览
0 Comments

自动删除不需要的#include语句

大家好,

我一直在关注如何减少C/C++项目的构建时间的讨论。通常,一个好的优化方法是通过使用前向声明来摆脱#include语句。现在,我想知道:

是否有一种工具可以计算C/C++头文件之间的#include依赖树(我知道Linux上的mkdep可以做到这一点),然后开始一个“删除头文件/重新编译”循环?如果这个工具可以尝试从依赖树中删除节点(例如从文件中删除#include语句),然后重新构建项目以查看是否仍然正常运行,那将是很棒的。

它不需要非常聪明(比如通过使用指针而不是值来重构代码以使头文件不再需要),但我相信我所工作过的许多项目都有不必要的#include语句。这通常发生在重构代码和移动代码时,但然后忘记删除#include。

有人知道是否存在这样的工具吗?

0
0 Comments

自动删除不需要的#include语句是一个常见的问题。目前还没有人提出一个真正好用的工具来列出依赖图并突出显示多个#include语句等(最受欢迎的似乎是doxygen),更不用说对文件本身进行编辑了。因此,我猜答案将是“不可能”-不过如果我错了,我会很高兴的!

0