+ -
当前位置:首页 → 问答吧 → 有关虚拟地址heap地址范围问题

有关虚拟地址heap地址范围问题

时间:2011-12-12

来源:互联网

请教高手,我在看虚拟内存与物理地址这块内容,
其中虚拟内存划分为数据段,堆,堆栈等一共是4g空间,
我看linux下默认堆栈大小,可以修改,malloc分配堆大小可以任意分配,
我想问一共4g空间,是不是堆栈过大了,分配的heap空间就少了?
同理malloc分配过大,是不是影响堆栈的大小呢?
4g虚拟空间的每个段的范围是不是固定死的呢?
谢谢

作者: zll_lover   发布时间: 2011-12-12

4G地址空间的系统,一般最多得到3G,Windows一般是2G可用,剩下的归系统(内核)

堆一般会自动增长
栈是不会自动增长的,但是可以手动改大

各区位置不固定

都在一起分享地址空间,当然此消彼长

作者: yisikaipu   发布时间: 2011-12-12

感谢yisikaipu
都在一起分享地址空间,当然此消彼长
关键就是这句话,大家一同用这2g空间是吗?
还有个问题中间会有个共享存储区域,夹在堆栈与堆之间,那它分配的位置如何订下来的呢?
堆栈是从头往下,堆从底网上都没问题,可中间这个区域如何界定的?岂不是它的位置很重要?

作者: zll_lover   发布时间: 2011-12-12

热门下载

更多