【发布时间】:2012-05-21 14:39:12
【问题描述】:
我想减少大型 C++ 项目的编译时间。 我尝试使用预编译的头文件、接口等。 但在继续之前,我想知道是否有任何工具可以帮助检测编译时间为何如此之长。 有人建议使用 pc-lint,我会试一试。 How should I detect unnecessary #include files in a large C++ project? 但是,如果有其他工具可以分析编译时间并谈论任何提高编译速度的提示,请告诉我。 提前致谢。
环境:Microsoft Visual Studio C++ 2008 或 2010。
【问题讨论】:
-
不是直接的答案,但您确实打开了并行构建?
-
一般评论是不包括你不需要的标题。构建时最糟糕的事情是一个名为 includes.hpp 的头文件,其中包含您需要的所有可能的头文件。我已经看到了那个臃肿的重新编译时间。
-
硬件升级怎么样?
-
确保您有一个正确的构建系统,它只重建那些已更改的文件。然后你可以使用 PIMPL 之类的东西来最小化耦合和编译依赖的数量。
-
@David:我一直在这样做......当然,每个标题都配备了一个 '#ifndef foo \n #define foo ... #endif'。我不应该吗?
标签: c++ visual-studio visual-studio-2008 compiler-optimization