我正在阅读: http:
//gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html
它首先建议:不应
与-flto
使用此选项 ( ) 结合使用。-fwhole-program
相反,依赖链接器插件应该提供更安全、更精确的信息。
然后,它建议:
如果程序不需要导出任何符号,则可以组合-flto
并-fwhole-program
允许过程间优化器使用更积极的假设,这可能会导致改进的优化机会。-fwhole-program
当链接器插件处于活动状态时,不需要使用(请参阅 参考资料-fuse-linker-plugin
)。
这是否意味着在理论上,使用-fuse-linker-plugin
with-flto
总是比使用-fwhole-program
with获得更好的优化可执行文件-flto
?
我尝试使用单独ld
链接-fuse-linker-plugin
和链接-fwhole-program
,并且可执行文件的大小至少是不同的。
PS 我在 CentOS 6 上使用 gcc 4.6.2 和 ld 2.21.53.0.1。