博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
进程中内存地址空间的划分
阅读量:5964 次
发布时间:2019-06-19

本文共 1335 字,大约阅读时间需要 4 分钟。

void fcn(int A, int B){    int C;    int D;}
高地址 命令行参数信息,环境表信息
: 栈Stack for thread 0:一个线程一个私有栈
: 栈里的栈帧Stack Frame 0:一个函数里的局部变量一个栈帧
: 栈里的栈帧Stack Frame 1:设这个是fcn(),依次将BACD压入栈
: ::::
: 映射区
: ::::
: 堆Heap:用户自己分配内存
: BSS(Data):global,static数据
: 全局区/数据区(Data):initialized global, static数据
: 只读常量区(Text):const initialized global, static数据
低地址 代码区(Text):存储二进制指令

Note:

  1. BSS段(Data)会在main函数执行之前自动清零没有初始化的g_var此时被初始化
  2. 堆区(Heap)中的内存空间由程序员手动申请以及手动释放, 该区域中的内存空间由OS自动管理
  3. 一个进程一个堆,堆≈虚拟物理内存-1GB,
    一个线程一个栈,栈通常为4MB
    堆的大小实际上(运行时)动态变化的,但有理论最大值,理论上虚拟内存有多大,就可以(近似)建多大,但32位的程序在64位系统上运行的时候,一个进程的堆大小应该是不可以超过4G的.
    栈大小固定(编译时确定),linux系统下默认栈大小是10M,windows系统下默认栈大小是1M,当然了,都是虚拟的
  4. stack frame VS program stack VS heap=>the program stack is an area of memory that supports the execution of functions and is normally shared with the heap—they share the same region of memory , the program stack tends to occupy the lower part of this region ,while the heap uses the upper part.The program stack holds stack frames(栈桢), sometimes called activation records or activation frames. Stack frames holds the paramaters and local variables of a function. Local variables are also called automatic variables。 They are always allocated to a stack frame
  5. ANSI C编程可以使用malloc()/free()进行动态内存分配,Unix/Linux平台还可以使用sbrk()/brk(),mmap()/mumap()

转载于:https://www.cnblogs.com/xiaojiang1025/p/5933463.html

你可能感兴趣的文章
全新的PDO数据库操作类(仅适用Mysql)
查看>>
物以类聚:对象也有生命
查看>>
Windows Embedded CE 6.0开发初体验(六)平台定制
查看>>
动态类型var和dynamic和传统确定类型区别和效率
查看>>
读书笔记2014第10本:《设计心理学》
查看>>
Python 装饰器笔记
查看>>
[Sharepoint2007对象模型]第三回:Web应用程序(SPWebApplication)
查看>>
让视频压制更简单
查看>>
Raspberry Pi(树莓派)试用小记
查看>>
link 链表操作
查看>>
比量iOS6/iOS7, 3.5inch/4.0inch
查看>>
QT中各种MessageBox的使用
查看>>
列式存储
查看>>
CSS:CSS定位和浮动
查看>>
Zookeeper概念学习系列之zookeeper是什么?
查看>>
Storm概念学习系列之Task任务
查看>>
Java 使用execute方法执行Sql语句
查看>>
Lind.DDD.Aspects通过Plugins实现方法的动态拦截~Lind里的AOP
查看>>
web 前端常用组件【02】Select 下拉框
查看>>
学习OpenStack之(6):Neutron 深入学习之 OVS + GRE 之 Compute node 篇
查看>>