编译原理课件-第七章 程序运行环境组织.pptxVIP

  • 4
  • 0
  • 约2.36千字
  • 约 18页
  • 2023-05-30 发布于浙江
  • 举报

编译原理课件-第七章 程序运行环境组织.pptx

编译原理 Principles of Compilers 第七章 程序运行环境组织 7.1 概述 运行时环境(runtime environment) 程序设计语言中涉及许多抽象概念,包括名称、作用域、数据类型、运算符、过程、参数等; 编译器必须与操作系统等系统软件配合,以准确地实现这些抽象概念; 编译器通过运行时环境来实现以上目标。 e.g. JRE, CLR 运行时环境的作用 为源程序中的命名对象分配存储空间; 决定目标程序如何访问变量; 类型检查与异常处理; 实现过程间的连接(参数传递机制); 与其它系统软件交互。 7.1 概述 本章内容 存储组织 栈式分配 堆式存储管理 垃圾回收 内存使用规范 7.2 存储组织 存储空间 一般的来说,编译器假设程序在连续的逻辑内存空间中运行; 编译器与运行时环境决定程序如何使用这个逻辑空间; 操作系统负责将逻辑空间映射到物理空间。 7.2 存储组织 存储分配策略 静态分配:为同名对象分配相同的空间,适用于在编译的时候就能够确定的对象,如全局变量; 动态分配:在运行时才能分配内存的对象,如局部变量; 栈式存储:在栈中为过程内局部变量分配空间,每当该过程被调用的时候就向栈中压入为该过程分配的空间,每当该过程调用结束的时候则弹出被分配的空间; 堆存储:按需分配存储空间,在程序需要的时候分配内存,而当程序不需要的时候释放内存。 7.2 存储组织 例

文档评论(0)

1亿VIP精品文档

相关文档