【发布时间】:2014-08-05 11:43:46
【问题描述】:
我正在将 Visual Studio IDE 用于一个包含数百万行代码和数百个文件的大型 C++ 项目。
我注意到,每次在对多个文件进行一些小的更改后构建解决方案时,每次后续构建都会花费越来越多的时间。
一旦我重建了解决方案,虽然重建花费了相当长的时间,但每次后续构建都比以前构建预重建快得多。
我做了一个假设,可能是编译器将多个 obj 文件合二为一。每次我们进行更改并构建解决方案时,都必须将大 obj 分解为较小的 obj,从而增加更多 obj 文件的数量。由于添加了越来越多的 obj 文件,这种方式链接会很慢。
但是,我无法为我的奇思妙想找到任何支持.. 当然也无法在我的同事面前证明这一点。
build-after-build 变慢的原因是什么?为什么重建后变快?
【问题讨论】:
-
原生 C++ 还是托管?在本机中,我怀疑这很可能是由于预编译的标头。尝试删除/重建它,看看你是否得到相同的效果。我从未使用过托管 C++。
-
本机跨平台 cpp .. 并且@willll 它会一直发生,而不仅仅是在断电之后。
-
我们有同样的问题,重建需要 10 分钟,头文件的小改动需要 30 分钟
标签: c++ visual-studio-2010 visual-studio visual-studio-2012