内存模型
参考链接如下: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位内存:
含有内核空洞