操作系统之内存管理:数据段、堆、栈
1.内存布局
从低到高
1.保留
2.代码段
当打开一个项目后, 这些 在编译之后,都会变成 机器码(010101), 这些代码最终都要进入到内存区域。
当进入到内存区域,他们就被放在了 代码段
3.数据段
全局变量或静态变量
4.堆(heap):比栈的内存地址小,比数据段的内存地址大
内存分配:从低到高分配
用new产生的对象
通过 malloc、calloc 等动态分配的空间
分配的内存空间地址越来越大
5.栈(stack):内存地址比较大
内存分配:从高到底分配
在执行函数时,函数内局部变量都在栈上创建,函数执行结束时这些存储单元自动被释放
分配的内存空间地址越来越小
6.内核区
一般只使用 代码段、数据段、堆、栈
注:堆==动态分配