功能级链接(VC中的Gy开关) – 它有什么好处?

在大型VS解决方案(200个VC项目)中使用此开关可以获得什么?

从我所了解的这个主要影响到二进制文件的大小;但除了较小的二进制文件外,FLL还有助于减少项目之间的依赖关系吗?

FLL通常如何影响构建时间?

我也喜欢在VC中有关FLL的有针对性的解释。 MSDN的解释很简单。

由于您链接了MSDN的说明,您知道/ Gy确保所有功能都打包在自己的COMDAT中。这样做的主要优点是如果您有相同的功能,链接器可以将它们全部折叠成一个实际的代码片段(“COMDAT folding”)。当您具有许多相同的功能时,这可能会产生非常大的影响,当您编写的模板很重的现代C通常是这种情况。

除了由于COMDAT折叠和消除未引用的COMDAT而导致的可执行文件的较小尺寸之外,还没有/ Gy的其他效果。具体来说,它不利于减少项目间依赖关系。

编译时间的成本略微增加(与其他优化器标志类似)。通常不会发生什么事情。

http://stackoverflow.com/questions/629894/function-level-linking-gy-switch-in-vc-what-is-it-good-for

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:功能级链接(VC中的Gy开关) – 它有什么好处?