守望者--AIR技术交流

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索
热搜: ANE FlasCC 炼金术
查看: 2130|回复: 0
打印 上一主题 下一主题

[其他] 程序在内存中的分布

[复制链接]
  • TA的每日心情
    擦汗
    2018-4-10 15:18
  • 签到天数: 447 天

    [LV.9]以坛为家II

    1742

    主题

    2094

    帖子

    13万

    积分

    超级版主

    Rank: 18Rank: 18Rank: 18Rank: 18Rank: 18

    威望
    562
    贡献
    29
    金币
    52903
    钢镚
    1422

    开源英雄守望者

    跳转到指定楼层
    楼主
    发表于 2015-1-4 13:55:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    在现代的操作系统中,当我们说到内存,往往需要分两部分来讲:物理内存和虚拟内存。从硬件上讲,虚拟空间是CPU内部的寻址空间,位于MMU之前,物理空间是总线上的寻址空间,是经过MMU转换之后的空间。

    一般我们所说的程序在内存中的分布指的就是程序在虚拟内存中的存储方式。

    低地址到高地址,可分为下面几段:
    预留内存地址(操作系统维护的内存地址,不可访问)
    程序代码区(只读,存代码和一些其他的东西);
    data段存初始化的全局变量和static变量,另外还有文字常量区,常量字符串就是放在这里,程序结束后由系统释放);
    bss段存未初始化的全局变量和static变量注意静态变量初始化为0跟未初始化是一样的,都放在bss段);
    (由低地址向高地址增长,一般new和malloc分配,由程序员分配释放);
    共享库文件(调用的库文件,位于堆和栈之间);
    (由高地址向低地址增长,和堆的增长方式相对,对不同的OS来说,栈的初始大小有规定,可以修改,目前默认一般为2M,由编译器自动分配释放);
    再上面存的都是操作系统和内核调用的一些内存地址

    如图所示:




    本文来自:http://blog.csdn.net/mal327/article/details/6784325

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
    收藏收藏 分享分享 支持支持 反对反对 微信
    守望者AIR技术交流社区(www.airmyth.com)
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    
    关闭

    站长推荐上一条 /4 下一条

    QQ|手机版|Archiver|网站地图|小黑屋|守望者 ( 京ICP备14061876号

    GMT+8, 2026-1-24 01:58 , Processed in 1.195215 second(s), 34 queries .

    守望者AIR

    守望者AIR技术交流社区

    本站成立于 2014年12月31日

    快速回复 返回顶部 返回列表