年轻人的努力

导航

内存模型

参考链接如下:https://blog.csdn.net/chenyijun/article/details/79441166 

 

32位内存:

  代码段(.text):存放二进制的代码

  数据段:

    1.只读数据段(.rodata):整型常量、浮点数常量和字符常量

    2.未初始化数据段(.bss)初始化位0和未初始化的全局变量和静态变量(全局和局部),程序加载执行前,会将该段整      

               体赋值为0

    3.初始化数据段(.data):初始化为非0的全局变量和静态变量(全局和局部)

  stack:windows上大小约为1M,可提升为10M,linux上约为8M,可提升为16M,系统自动管理,先进后出,方向为从上往

      下,从高地址到低地址,局部变量包含const变量(只读变量)

  heap:大小约为1.3G+,生长方向为从下往上,从低地址到高地址

 

 更详细的图如下:

保留区 –> 文本段–>数据段—>堆—>共享库—>栈–>环境变量—>内核态 

 

 

 

 

 

 

64位内存:

含有内核空洞

 

posted on 2021-03-28 13:30  年轻人的努力  阅读(53)  评论(0编辑  收藏  举报