一个程序装入内存时分配的地址一定是连续的吗?

 我来答
hunyuanhenshan
2012-12-18 · 超过19用户采纳过TA的回答
知道答主
回答量:124
采纳率:0%
帮助的人:50.1万
展开全部
当然不一定,有静态去,局部数据区等,有的是在堆中,有的是在栈中,栈中一般存放局部变量,静态变量放在堆中,可以写个程序输出地址看看就知道了!
追问
程序代码不一定连在一起吗?如是这样,它怎么管理呢?
yuhaifei12
2012-12-21 · TA获得超过664个赞
知道小有建树答主
回答量:120
采纳率:0%
帮助的人:141万
展开全部
逻辑上不连续,物理上一般也不连续。楼上一个说的是逻辑上不连续,就是分静态存储区,堆栈等。在物理上,看操作系统的内存管理机制。基本都是分块管理的。采用分块管理可以减少无法利用的内存碎片。比如每100K的代码放在一块连续内存中,
追问
也就是说,如果一个代码1000k,它的10个100K代码不一定放在1000K的连续地址里,有的在这,有的在那,操作系统会登记这10个内存块地址的10个指针,从而知道它们属于同一个程序?
追答
完全正确~!
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
颜海镜
2012-12-19 · TA获得超过1564个赞
知道小有建树答主
回答量:445
采纳率:0%
帮助的人:148万
展开全部
连续的
追问
与楼下不同呢?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式