在大型VS解决方案(200个VC项目)中使用此开关可以获得什么?
据我所知,这主要影响产生的二进制文件的大小;但除了较小的二进制文件之外,FLL还能帮助减少项目之间的依赖关系吗?
FLL通常如何影响构建时间?
我也很欣赏有关VC中FLL的有根据的解释。 MSDN的解释非常简短。
答案 0 :(得分:29)
由于您链接了MSDN的说明,您知道/ Gy确保所有函数都打包在自己的COMDAT中。这样做的主要优点是,如果你有相同的功能,链接器可以将它们全部折叠成一段实际代码(“COMDAT折叠”)。当你有许多相同的函数时,这可能会产生非常大的影响,当你编写对模板很重的现代C ++时,这种情况经常发生。
除了由于COMDAT折叠和消除未引用的COMDAT而产生的可执行文件的较小尺寸之外,/ Gy没有其他影响。具体而言,它无助于减少项目间的依赖关系。
编译时间略有增加(与其他优化器标志类似)。通常不是你会注意到的东西。