当esp / ebp移动时,如何释放调用堆栈上的堆栈帧内存?

时间:2019-10-17 05:15:09

标签: multithreading assembly memory

我不明白的是,人们说当返回当前的堆栈框架时,这意味着在组装过程中,esp向上移动,因此堆栈框架中的内存将被释放。

移动esp指针后,如何完全释放这部分内存?是在运行时还是在操作系统上通过检查它们是否没有任何指向?

2 个答案:

答案 0 :(得分:2)

免费只是意味着它可供以后使用。移动堆栈指针足以使超过该点的所有内容可供以后使用。

答案 1 :(得分:1)

通常,堆栈是一次分配的,直到程序终止为止,无论EBP或ESP中的值如何。