C ++未使用的头文件

时间:2019-02-21 17:35:29

标签: c++ header-files

我想从大型代码库中删除一些未使用的标头。我知道有一些开源工具,但误报的数量太大。想法是为每个文件运行脚本。因此,如果编译转到下一行(删除了包含),则删除包含,尝试进行编译,否则,将保留包含并转到下一行。

从长远来看,这个想法是否有任何问题?还是有更容易尝试的选择?

1 个答案:

答案 0 :(得分:3)

  

与这个想法有关的任何问题

是的。即使缺少包含文件,文件也可以成功编译,因此可能会产生误报,并可能删除实际使用的标头。

要手动或自动分析哪些标题应包括哪些标题是不必要的,这是一项艰巨的任务。已经制作了可以自动进行检查的工具。即使“误报的数量太大”,(根据我的经验)在所有包含的标头中仍然只是一小部分,因此,检查这种工具的结果比比较包含的标头要少得多的工作。每个文件到这些文件的全部内容。只要您不手工检查就不要删除包含内容,即使您建议的脚本也总比没有好。

它有助于手动检查以使文件尽可能小。副作用是,这也使增量编译更快(但从头开始的编译速度较慢)。