Visual C++ 2008:查找链接时间慢的原因

cka*_*ras 9 c++ linker visual-c++

我有一个遗留的C++项目需要花费很长时间来构建(几分钟,即使是小的增量更改),我发现大部分时间都花在链接上.

该项目已经在使用预编译头文件和增量编译.我已启用"/ time"命令行参数,希望我能获得有关减慢链接器速度的更多详细信息,并获得以下输出:

1>Linking...
1>  MD Merge: Total time = 59.938s
1>  Generate Transitions: Total time = 0.500s
1>  MD Finalize: Total time = 7.328s
1>Pass 1: Interval #1, time = 71.718s
1>Pass 2: Interval #2, time = 8.969s
1>Final: Total time = 80.687s
1>Final: Total time = 80.953s
Run Code Online (Sandbox Code Playgroud)

有没有办法获得有关这些步骤的更多详细信息?例如,我想找到他们是否花费大部分时间链接到特定的.lib或.obj文件.

此外,是否有任何文档可以解释每个步骤的作用?

小智 1

希望 vs 开发团队的人能够看到这一点并能够发表评论,也许发布一个到他们的论坛/博客的链接并获得最好的结果?

我想到的第一个随机理论是调查生成了多少标头内代码,以便“第一阶段”需要做大量工作来消除欺骗。我特别想到模板或宏或旧式常量声明。这些也会通过包含在公共预编译头中而加剧,正如我经常看到的那样,使用项目对 windows/mfc/STL 进行简单的设置。

祝你好运,如果你发现一些特别不好的东西,那就太好了。