【发布时间】:2023-03-03 17:18:02
【问题描述】:
我主要考虑 Windows。
AFAIK 在这样的平台上有很多堆栈,每个程序,或者甚至每个线程都有自己的堆栈,并且每个这样的线程都可以将字节推送到它上面 - AFAIK 每个这样的推送都应该在运行时检查堆栈的情况溢出 - 所以似乎每次推送都有一些成本(类似于数组边界检查) - 这种检查究竟是如何实现的?
在旧机器上,我记得没有检查,但有些 fff 变成 000,所以没有检查成本,但今天在 Windows 平台上,在我看来,可能每个堆栈都已绑定检查 - 但我不知道它是如何进行的已实施。
【问题讨论】:
标签: windows x86 stack-overflow