有什么方法可以优化 MS Visual Studio C++ (2005) 中的链接时间?我们使用 Xoreax Incredibuild 来加速编译,但没有链接。
目前每个链接大约需要 30 秒。当我打开增量链接时,大约需要 35-40 秒。 (无论我是否使用 incredibuild 编译项目)
有什么办法,如何分析链接器并观察需要多长时间?或者任何并行链接的工具?或者任何代码优化技巧以加速链接器?
感谢回复 卢德克伏迪加
编辑:
感谢您的第一次回复和其他信息:
- 整个程序优化和链接时代码生成已关闭。
- 尽可能使用 PIMPL 成语
- 其他静态库已通过#pragma comment(lib, "pathToLib") 包含在内。 (也因为更容易维护]
- 硬件:四核 q6600、8GB 内存、3x WD raptor raid 0。Windows Vista 64 位
最佳答案
我不知道有任何并行链接工具;我知道 Incredibuild 不允许这样做。
工具箱中用于避免链接时间的最大工具是适当的抽象级别。如果你的链接时间很长,可能是因为对象对其他对象了解太多。将它们解耦是关键——通过抽象接口(interface)(可能使用 PIMPL 范例),或者通过其他方法,例如事件传递。
通过项目依赖关系链接项目的开销也相当高。如果您的目标平台仅为 Win32,或者主要是 Win32,您可以考虑使用 header 通过 #pragma comment(lib, "pathToLib") 链接您的依赖库。
关于c++ - 如何加快 C++ 链接时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/921693/