【发布时间】:2014-08-05 16:53:56
【问题描述】:
总的来说,就我所记得的程序的stack 而言,它是以特殊方式处理的内存的特殊部分(通过LIFO 结构,即“堆栈”)。
我在 Linux 中使用 C 和 C++ 工作,我不确定以下几点
堆栈是一块通用内存,是否意味着在 Linux 进程中它应该位于该进程的虚拟内存的某个页面中?
我曾经知道,如果一块内存(我一直认为只是堆)驻留在 L1 Cache 中会比 L3 Cache 更快地检索。它也适用于堆栈吗?
现在堆栈通常比堆快,但如果第 2 点为真,堆栈中的一些数据仍可能位于 L3 行并在系统中引入缓慢。
我在以下方面的推理是正确的还是我遗漏了什么?
【问题讨论】: