代码之家  ›  专栏  ›  技术社区  ›  ZeroCool

是否省略帧指针?有风险吗?

  •  2
  • ZeroCool  · 技术社区  · 15 年前

    我总是在编译器中启用这个特性,它在读取更干净的汇编代码时对调试有很大帮助。我认为它对速度优化方面没有很大的影响,给CPU提供了流水线处理的能力,但至少它为寄存器分配打开了一个新的机会,因此获得了一个新的空闲寄存器ebp(但不确定编译器是否会使用它)。

    我的问题是:这种方法安全了吗?你有没有遇到过什么特别之处?

    3 回复  |  直到 15 年前
        1
  •  2
  •   RichieHindle    15 年前

    如果您的软件在崩溃时产生堆栈跟踪,省略帧指针可以防止它工作。

        2
  •  0
  •   MrMage    15 年前

    我从未在gcc上遇到过-fomit帧指针的任何问题。但它确实使调试变得更糟。

        3
  •  0
  •   mipadi    15 年前

    这个 Gentoo wiki 注意到 fomit-frame-pointer 可以抑制调试。否则,我认为没有真正的 风险 .