【发布时间】:2011-10-04 20:30:39
【问题描述】:
一位同事最近向我透露,我们的一个源文件在编译期间包含超过 3,400 个头文件。我们在构建中编译了 1,000 多个翻译单元,这对肯定不会全部使用的标头造成巨大的性能损失。
是否有任何静态分析工具能够揭示这样一个森林中的树木,特别是让我们能够决定我们应该对哪些树木进行修剪?
更新
发现了一些关于包含头文件的成本的有趣信息(以及用于优化其包含的包含保护的类型)here,源自 this question。
【问题讨论】:
-
什么平台? gcc 有可以帮助解决这个问题的选项(如果没有人提出更好的主意)
-
@fbrereto:(几年后...)我正在研究 C 的类型推断,其预期用途之一是删除所有#include,让引擎仅推断实际使用的类型,仍然得到同样精度的分析结果。我正在寻找一篇论文的真实案例。如果您想讨论这个问题,请直接与我联系。引擎有一个在线界面:cuda.dcc.ufmg.br/psyche-c
标签: c++ c static-analysis header-files