Lud*_*cka 16 c++ linker visual-c++
有没有办法,在MS Visual Studio C++(2005)中优化链接时间?我们正在使用Xoreax Incredibuild进行编译加速,但没有任何链接.
目前,每个链接大约需要30秒.当我打开增量链接时,需要35-40秒.(无论我是否使用incredibuild编译项目)
有什么办法,如何配置链接器并观察需要多长时间?或者任何用于paralel链接的工具?或任何代码优化的提示,以加快链接器?
感谢Ludek Vodicka的回复
编辑:
感谢您的第一次回复和其他信息:
小智 10
我不知道任何并行链接工具; 我知道Incredibuild不允许这样做.
工具箱中用于避免链接时间的最大工具是适当的抽象级别.如果链接时间很长,可能是因为对象对其他对象了解太多.然后解耦它们是关键 - 通过抽象接口(可能使用PIMPL范例),或者通过事件传递等其他方法.
通过Project Dependencies链接项目的开销也很高.如果您的目标平台仅是Win32,或者主要是,您可以考虑使用标头通过#pragma comment(lib,"pathToLib")链接您的依赖库.
如果您可以在没有优化的情况下生存,请关闭链接时代码生成(删除/ GL开关或在属性c/c ++ - >优化 - >整个程序优化.对于链接器删除/ ltcg或使用链接时间代码生成设置).这会使编译器变慢,因为代码生成现在在编译期间发生.
我已经看到用/ GL +/LTCG构建需要几个小时的项目,仅仅几秒钟(例如:http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/750ed2b0-0d51 -48a3-bd9a-e8f4b544ded8)