gpt4 book ai didi

c++ - 功能级链接(VC++ 中的/Gy 开关)- 它有什么用?

转载 作者:IT老高 更新时间:2023-10-28 21:46:44 24 4
gpt4 key购买 nike

在大型 VS 解决方案(200 个 VC 项目)中使用此开关有什么好处?

据我了解,这主要影响生成的二进制文件的大小;但除了较小的二进制文件之外,FLL 是否也有助于减少项目之间的依赖关系?

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

我还希望能对 VC 中的 FLL 进行有根据的解释。 MSDN的解释很简短。

最佳答案

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

除了由于 COMDAT 折叠和消除未引用的 COMDAT 导致生成的可执行文件的大小更小,/Gy 没有其他影响。具体来说,它无助于减少项目间的依赖关系。

成本是编译时间略有增加(类似于其他优化器标志)。通常不会引起您的注意。

关于c++ - 功能级链接(VC++ 中的/Gy 开关)- 它有什么用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/629894/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com