进程内存空间的划分(代码区,全局区,BSS段,栈区,堆区,只读常量区)
2015-08-18 12:03
453 查看
进程的内存空间划分:6个部分代码区、只读常量区、全局区、BSS段、堆、栈
代码区 – 程序的代码(以函数的形式)存入代码区,函数指针就是函数在代码取得地址,代码区 是 只读区域. 只读常量区 – 很多的书上都把只读常量区归入代码区,存放字符串的字面值(“abc”)和const修饰的全局变量。 全局区 – 存放全局变量和static的局部变量,读写权限。 BSS段 – 存放为初始化的全局变量(没有写=的),读写权限。全局区和BSS段区别在于:虽然两者都是在main运行前创建,但BSS段不会在 main()执行之前自动清0,而全局区会。 栈区(stack) - 也叫堆栈区 ,存放局部变量(没有static),函数的形参也是在栈区。 堆区 (heap)- 也叫自由区,是程序员完全管理的区域,系统不会管理这个区域。
相关文章推荐
- PHP的命令行命令使用指南
- java 之 面向对象
- java.lang.IllegalAccessError: class com.google.protobuf.HBaseZeroCopyByteString
- java.lang.IllegalAccessError: class com.google.protobuf.HBaseZeroCopyByteString
- 将activiti整合到spring里
- 【暑假】[深入动态规划]UVa 10618 Tango Tango Insurrection
- Python文件右键找不到IDLE打开项解决办法
- 【Vijos P1007】绕钉子的长绳子 c++题解
- C#中值类型和引用类型的区别深度分析
- Java并发编程:Callable、Future和FutureTask
- 统计svn上两个版本或一段时间内的代码修改行数
- 获取项目中代码行数、图片资源列表及大小
- 在Eclipse中导入android studio项目
- C# Powerpoint 禁止或允许修改形状
- eclipse常用快捷键
- 【Java并发编程实战】-----synchronized
- 3sum leetcode (15)
- C#搜索文字在文件及文件夹中出现位置的方法
- Java --- 商品分页
- Spring Uploading Files