|
|
1
2
关于调试器/运行时工具的旁注: 使用EBP使调试器(和其他运行时工具)更容易“遍历堆栈”。工具可以在运行时检查堆栈,并且在不知道任何关于当前程序堆栈的信息(例如,有多少项被推入eac帧)的情况下,可以将堆栈一直移动到“main”。
|
|
|
2
2
从技术上讲,跟踪堆栈中存储了多少局部变量和临时变量是可能的(但有时很难),这样就可以在没有EBP的情况下访问函数输入和局部变量。 考虑以下“C”代码;
总之,将EBP寄存器提交到单个函数(而不是将其用作通用寄存器)的决定是性能、简单性、代码大小和其他因素之间的权衡。实践经验表明,利大于弊。 |
|
|
Mehmet Aslan · freertos堆栈不会溢出 1 年前 |
|
|
rdre8 · x86指令,堆栈指针解释 1 年前 |
|
|
melonfsck · 是否允许在堆栈上分配旋转锁? 2 年前 |
|
|
Yashas Nadig · 调用堆栈lifo队列是否正确? 2 年前 |
|
|
Sougata Mukherjee · 使用js中的stack反转句子 2 年前 |
|
|
Nurana · c堆栈(使用动态数组)realloc内存泄漏问题 2 年前 |