gpt4 book ai didi

c++ - 堆栈内存是连续的吗?

转载 作者:IT老高 更新时间:2023-10-28 21:55:20 26 4
gpt4 key购买 nike

编译器如何强制堆栈内存是连续的,它会导致每次程序运行时移动内存还是在程序运行之前在堆栈上保留程序所需的内存?

最佳答案

给定线程的堆栈通常在虚拟内存中是连续的(在 Linux 和类似系统上,以及在 Windows 的用户模式下)。 Windows kernel (in Windows Vista and above)z/OS允许虚拟内存中的不连续堆栈和GCC 4.6 will also allow that .编译器根本不需要移动堆栈,即使对于堆栈的虚拟地址不连续的系统也是如此;他们只是改变新零件的分配位置。操作系统可能会将物理页面重新映射到虚拟页面,以便堆栈在物理内存中可能不连续,即使它在虚拟内存中也是如此。

关于c++ - 堆栈内存是连续的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5086577/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com