GCC 4.7.0 开始支持 LTO(链接时优化)

1、LTO概述

LTO: (link-time optimizations) 使整个程序在链接过程中实现二进程优化,降低目标码的体积,例如:一个LTO的内核可以减少超过10%的尺寸大小,并且内核优化后比常规的内核快百分之几,但是它目前的问题是需要占用更多的 系统内存 以及 更长的编译时间。

2、LTO使用(摘自:https://gcc.gnu.org/wiki/LinkTimeOptimization)

There are two main flags that enable LTO functionality.

  • -flto: This uses the main LTO features. When given several source files on the command line, it will write out the IL for each of them and then launch lto1 to load every function in every file. The reconstructed cgraph is then optimized as usual.

    •    $ gcc -flto -c f1.c
         $ gcc -flto -c f2.c
         $ gcc -flto -o f f1.o f2.o
      or
         $ gcc -flto -o f f1.c f2.c
  • -fwhopr: This is similar to -flto but it splits compilation to achieve scalability. It is intended to handle extremely large programs whose call graphs do not fit in memory. See the design document for details.


  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值