如何自动查找未使用的#include指令?

sta*_*fan 27 c

通常在编写新代码时,您会发现缺少#include,因为该文件无法编译.很简单,你添加了所需的#include.但是后来你以某种方式重构代码,现在不再需要一些#include指令.如何发现不再需要哪些?

当然,我可以手动删除部分或全部#include行并将其添加回来,直到文件再次编译,但这在包含数千个文件的大型项目中实际上并不可行.有没有可用的工具可以帮助自动化任务?

gra*_*eds 5

您可以使用PC-Lint/FlexeLint来执行此操作。

不同寻常的是,该工具没有免费的操作系统版本。

您可以通过按引用传递而不是按值传递和前向声明来删除#includes。这是因为编译器在编译时不需要知道对象的大小。然而,这将需要您进行大量的手动工作。好处是它会减少你的编译时间。