gpt4 book ai didi

c - C程序中栈和堆的 "standard"大小是多少?

转载 作者:太空狗 更新时间:2023-10-29 17:23:54 25 4
gpt4 key购买 nike

我读到 Linux 上的“标准”和初始堆栈大小为 ~8MB,Windows 为~1MB。

但是堆分配是如何工作的呢?操作系统是否为进程堆设置了“虚拟”大小,就像它为具有已提交和保留内存的堆栈所做的那样?

最佳答案

传统上,程序的布局在内存的低端有“文本”(或“代码”)段,然后是固定数据(“数据”和“bss”段),然后是一个间隙,随着堆栈从高端内存向下增长。中间的间隙成为堆,从数据的末尾向堆栈增长。

线程程序、加载的共享库、共享内存等情况更加复杂。

初始堆栈大小取决于 o/s。初始堆大小在逻辑上为零,但几乎会立即增长(随着程序和共享库的加载)。

关于c - C程序中栈和堆的 "standard"大小是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8017499/

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