gpt4 book ai didi

optimization - lto和fat-lto-objects之间的gcc有什么区别

转载 作者:行者123 更新时间:2023-12-03 15:31:31 34 4
gpt4 key购买 nike

我试图用下一个标志编译我的源代码:
1. -flto2. -flto -ffat-lto-objects3. -flto -fno-fat-lto-objects
第三个提供优化slim文档中编写的 LTO 代码,但我看不出第一个和第二个输出程序集文件有任何区别,为什么?

操作系统:Linux
编译器:GCC 4.7

最佳答案

胖目标文件和非胖目标文件的区别在于胖目标文件既包含中间语言也包含正常编译的代码。在链接时,如果您调用没有 -flto 的编译器,胖对象将作为普通对象文件处理(并丢弃 LTO 信息),而瘦对象将调用 LTO 优化器,因为没有它就无法处理它们。
如果您同时编译和链接 -flto , fat 和 slim 对象都应该给你相同的二进制文件,只是 slim 对象会更小更快编译,因为你会避免冗余代码生成。

关于optimization - lto和fat-lto-objects之间的gcc有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13799452/

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