目标代码运行时刻环境的组织及其特点

需积分: 0 0 下载量 201 浏览量 更新于2024-01-12 收藏 917KB PDF 举报
目标代码运行时刻环境的组织是在生成目标代码之前需要讨论目标代码运行时所处的环境,目标代码和运行环境之间的关系就像“鱼”和“水”一样。本章首先概述目标代码运行时的软硬件环境。现代计算机系统采用冯·诺依曼体系结构,存储程序原理和程序控制原理是现代计算机系统的基本工作原理,编制好的二进制代码(或者编译器生成的目标程序)必须事先存放到计算机系统的内存中才能被执行。 目标代码生成总是面向特定的计算机系统平台的,生成的目标代码必须能在具体的系统平台上运行,需要与这个系统平台进行交互,能直接使用这个系统平台提供的计算资源。因此,在生成目标代码之前,需要对目标代码运行时刻环境进行组织和规划。 在目标代码运行时刻环境中,硬件系统是计算机系统的核心。硬件系统包括CPU和内存等重要组件,CPU负责执行指令,而内存则用于存储程序和数据。目标代码生成的最终目的是要将源程序转换成目标代码,通过目标代码来控制和利用硬件系统的资源。 在讨论目标代码运行时刻环境时,需要考虑如何管理和分配内存空间。本章详细介绍了目标代码运行时刻内存空间的管理与分配策略,包括运行时刻内存空间的典型划分和三种常见的内存空间分配策略:静态存储分配、栈式存储分配和堆式存储分配。这些策略在实际的编程中都有各自的应用场景和特点,在选择合适的内存空间分配策略时需要考虑程序的要求和系统的限制。 另外,本章还讨论了几种代表性高级语言的特点,分别介绍了这几种高级语言非局部名字的访问方法。高级语言的特点决定了其对目标代码运行时刻环境的要求和影响。在生成目标代码之前,需要考虑高级语言程序的结构和执行过程,以及如何将高级语言的程序转换为目标代码。 总的来说,目标代码运行时刻环境的组织是在生成目标代码之前需要讨论的重要问题。需要考虑目标代码和运行环境之间的关系,并确定适合特定系统平台的目标代码生成方法和策略。同时,还需要考虑内存空间的管理和分配策略,以及高级语言的特点对目标代码运行时刻环境的要求和影响。这些问题和策略的选择都对目标代码的生成和运行有着重要的影响和意义。