堆栈的详解(一):程序的内存映像

原创 2008年10月01日 18:43:00

一、程序的内存映像

一个由C/C++编译的程序的内存分布分为以下几个部分:

1、  栈(stack:也是我们所说的堆栈,是由编译器自动分配释放,用来存放函数参数值,函数的返回地址,非静态局部变量的值等。其操作方式类似于数据结构中的栈(后进先出LIFO)。

2、  堆(Heep):一般由程序员分配释放,若程序员不释放,程序结束可能由OS回收。

3、  全局区(静态区):全局变量和静态变量存储在这一块,初始化的全局变量河静态变量放在一块区域,未初始化的全局变量静态变量放在相邻的另一块区域(BSS)。程序结束后由系统释放。

4、  文字常量区:常量字符串放在这个区域。

5、  程序代码区:存放函数体的二进制代码。

 

Linux系统下进程内存映像信息的理解:

------------------------------理解/proc/%pid/------------------------------ 我们都知道每个进程对应的信息存放在 /proc/%...
  • jinjinstudy
  • jinjinstudy
  • 2014年01月13日 15:38
  • 1315

linux进程内存映象解析

一、程序如何转化为进程程序转化为进程一般有两个步骤: 1、内核会将程序从磁盘读入内存,为程序分配内存空间 2、内核会为进程保存PID以及相应的状态信息(保存在task_struct中),将进程放在...
  • db199410
  • db199410
  • 2016年08月25日 20:16
  • 642

关于堆栈的讲解(我见过的最经典的)

这是一篇转发的文章,我对他进行了格式化而已,原文出处不详。一、预备知识—程序的内存分配一个由c/C++编译的程序占用的内存分为以下几个部分 1、栈区(stack)— 由编译器自动分配释放 ,存放函数...
  • yingms
  • yingms
  • 2016年11月16日 17:31
  • 4756

进程(1)进程的内存映像

当一个程序进入计算机的主存储器进行计算就构成了进程,主存储器中的进程到底是如何组成的?操作系统中把进程物理实体和支持进程运行的环境合称为进程上下文(process context)。当系统调度新进程占...
  • simonyucsdy
  • simonyucsdy
  • 2017年05月03日 21:18
  • 352

程序中的堆栈解析

在计算机领域,堆栈是一个不容忽视的概念,但是很多人甚至是计算机专业的人也没有明确堆栈其实是两种数据结构。 要点: 堆:顺序随意 栈:先进后出 堆和栈的区别 一、预备知识—...
  • LucienDuan
  • LucienDuan
  • 2014年08月01日 14:32
  • 2085

程序代码的五大分区,堆栈的区别

问题引入:   在工作过程中发现了一个以前一直默认的错误,同样char *c = "abc"和char c[]="abc",前者改变其内   容程序是会崩溃的,而后者完全正确。   ...
  • xcysuccess3
  • xcysuccess3
  • 2012年10月16日 10:03
  • 1837

程序的内存映像

这几天在看C语言的书籍,对C的内存映像有点
  • hsp_wuhan
  • hsp_wuhan
  • 2014年10月07日 10:37
  • 306

JAVA中堆栈和内存分配详解

在JAVA中,有六个不同的地方可以存储数据: 1.寄存器:最快的存储区, 由编译器根据需求进行分配,我们在程序中无法控制. 2. 栈:存放基本类型的变量数据和对象的引用,但对象本身不存放在栈中,而...
  • zhangjinru123
  • zhangjinru123
  • 2016年07月21日 16:42
  • 1362

关于Java堆栈的理解与说明

在谈堆和栈之前,首先我们先要了解一下Java对内存的分配结构。作为Java程序员大家应该都知道Java的程序都是运行在Java虚拟机上也就是JVM上,程序中所有的变量、实例、方法等都是由JVM在内存上...
  • liubocomeon
  • liubocomeon
  • 2016年08月18日 13:25
  • 1248

汇编基础教程(三)——堆栈框架

由于之前转载的那个教程最后一篇,代码太长了,虽然注释很详细但我实在看不下去了。。。原文在这里 于是根据《INTEL汇编程序设计第五版》第八章8.2小结以及网上的内容整理如下。 ----------...
  • candycat1992
  • candycat1992
  • 2012年10月30日 23:25
  • 5040
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:堆栈的详解(一):程序的内存映像
举报原因:
原因补充:

(最多只允许输入30个字)