gpt4 book ai didi

linux - rbp/ebp(x86-64) 寄存器是否仍按常规方式使用?

转载 作者:太空宇宙 更新时间:2023-11-04 03:51:33 24 4
gpt4 key购买 nike

我最近一直在写一个基于x86-64架构的小内核。在处理一些用户空间代码时,我意识到我实际上没有使用 rbp。然后我查看了其他一些东西,发现编译器现在变得越来越聪明,他们真的不再使用 rbp 了。 (我在这里可能是错的。)

我想知道在许多情况下是否不再需要常规使用 rbp/epb,或者我在这里错了。如果不需要这种用法,那么它可以像通用寄存器一样使用吗?

谢谢

最佳答案

仅当您的堆栈帧中有可变长度数组时才需要它(记录数组长度将需要更多内存和更多计算)。展开不再需要它,因为现在有元数据。

如果您手写整个汇编函数,它仍然很有用,但是谁来做呢?汇编只能用作跳转到 C(或其他)函数的粘合剂。

关于linux - rbp/ebp(x86-64) 寄存器是否仍按常规方式使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26152211/

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