base pointer(基址指针/帧指针)是计算机体系结构与汇编语言里的术语,指一种用于定位当前函数调用栈帧的寄存器或指针。它常被用作访问局部变量、函数参数以及保存的返回地址等的“基准”。在 x86 架构中常见为 BP/EBP/RBP。
(在一些优化编译下,帧指针可能被省略,用栈指针等方式替代。)
/beɪs ˈpɔɪntər/
The base pointer helps the debugger show local variables.
基址指针有助于调试器显示局部变量。
After the function call, the base pointer is restored so the stack frame can be unwound correctly.
在函数调用结束后,会恢复基址指针,以便能够正确回溯并释放栈帧。
base 源自希腊语 basis(“基础、底座”),经拉丁语与法语进入英语;pointer 来自 point(“指向、指点”)加后缀 -er(表示“做某事的人/物”)。合起来字面意思是“作为基准的指向者”,在计算机语境中引申为“用于做基准定位的指针/寄存器”。