C++:快速确定适当的标头包含列表

C++: Quickly determine appropriate list of header includes?

本文关键字:包含 列表 C++      更新时间:2023-10-16

有什么工具或方法可以加快这个过程吗?

例如,我只是将 neatTrick.cpp 源文件拆分为两个单独的文件 neatTrickImplementation.cpp 和 neatTrickTests.cpp。

我现在要做的就是浏览 neatTrick 顶部的 #includes 列表.cpp并确定哪些需要进入实现文件,哪些需要进入测试文件。有些标头对于它们都是必需的,有些则不是。有些甚至可能是完全不必要的。

我觉得我的过程(从零开始,编译,看看有什么坏了,添加适当的包含,再次编译,重复)将产生最不臃肿的代码,但它是如此令人沮丧的缓慢。我认为如果我的 IDE 可以分析项目中的其余标头,看看哪些标头可以消除当前的错误集,并为我自动执行此任务,那就太好了。

钱德勒·卡鲁斯(Chandler Carruth)在Microsoft的"走向原生"(一个C++会议)上发表了一次演讲,他说Clang工具项目正在酝酿中,可以解决这个问题。

据我了解,它目前是没有公开可用的工具能够做到的,大多数人对此印象深刻。

所以:目前,目前还没有这样的工具。在不久的将来,你可能会得到这样的东西作为基于 Clang 的工具为自己编译。从长远来看,期望这是基于Clang工具链构建的标准功能。

(有点OT:目前在Clang/LLVM开发人员列表中有一个关于工具/服务基础设施的讨论。这些工具还没有出现,但正在积极开发中,目前由谷歌工程师开发,后来可能是整个行业的人和Clang开源社区

)。

去年四月在牛津举行的ACCU会议期间,其中一位演讲者Peter Sommerlad用他的一个学生编写的Eclipse CDT插件演示了这个功能。我不知道这个插件是否已经公开可用,但也许你可以给他发一封电子邮件问......