编译原理程序运行时的存储组织.pptVIP

  • 2
  • 0
  • 约3.66千字
  • 约 41页
  • 2026-06-01 发布于北京
  • 举报

;第8章程序运行时的存储组织及管理P158;学习重点;影响存储分配策略的语言特征:

过程能否递归

过程能否嵌套

过程调用时参数如何传递

哪些实体可以作为参数和返回值

是否允许动态的为对象分配和撤销存储空间

存储空间是否必须显式地释放

……;程序运行时,系统将为程序分配一块存储空间。这块空间用来存储程序的目标代码以及目标代码运行时需要或产生的各种数据。从用途上看,这块空间可分为以下几个部分:

1目标程序区:用来存放目标代码。

2静态数据区:用来存放编译时就能确定存储空间的数据。

3运行栈区:用来存放运行时才能确定存储空间的数据。

4运行堆区:用来存放运行时用户动态申请存储空间的数据。;静态存储分配方式:对于源程序中出现的各种数据项,如常量、简单变量、常界数组、非变体记录等,在编译时就给它们分配固定的存储空间,而且在目标程序运行时,总是使用这些在编译时就分配好的存储单元作为它们的数据空间。;FORTRAN语言没有长度可变的串,也没有动态数组,其子程序和函数也不允许递归调用,所以FORTRAN语言采用静态存储分配方式。;8.2静态存储分配;例

chararray16;

inti,j;

reala,b;

假设:

数据区开始位置的地址264

字符型占2个存贮单元

整型占4个存贮单元

实型占8个存贮单元;目标

文档评论(0)

1亿VIP精品文档

相关文档