bst365最新正规买球

代码生成
  • 更新时间:2024-07-18 23:21:06
  • 网站建设
  • 发布时间:1年前
  • 224

北京网站建设包括代码,代码生成是将语法、语义分析后的中间结果(中文)转化为等价的目标程序或目标程序块的过程。词法分析、句法分析和语义分析统称为编译系统的前端。属于分析部分。代码生成和代码优化一起称为编译系统的后端,属于综合部分。中间结果是用中间语言(例如三元、四元或反波兰语)表达的程序。目标程序是用目标语言编写的;它可以是机器语言、汇编语言甚至是高级语言。随着计算机编译环境和执行环境的不断完善,不仅可以生成可以直接执行的目标程序,还可以生成可重定位或可执行的链接目标程序模块。最后,通过链接加载程序,形成可直接执行的目标程序。代码生成不仅仅与编译环境有关。而且跟运行环境有关。所有生成的目标程序都应该符合链接加载所要求的规范。代码生成中的存储分配和寄存器分配是重要而复杂的问题,直接影响目标程序的效率,应引起足够的重视。

代码的生成

运行时存储空间的组织和管理是一个复杂而又非常重要的问题。首先,我们必须了解一个过程的静态源程序和它的目标程序在运行时的活动之间的关系。流程的活动是指流程的执行。为了管理流程在一次执行中所需的信息。使用一个连续的存储块,我们称这样一个连续的存储块为活动记录。临时单元、上下文向量、局部变量、正式单元、静态链接、动态链接和返回地址都记录在活动记录中。

共有三种存储分配策略:静态分配、栈动态分配和堆动态分配。堆栈(stack)是一个特定的存储区域,一端固定,另一端浮动。对于这个存储区。所有信息都存储在堆栈中,也称为数组。堆栈的概念广泛应用于编译技术和其他软件技术中。堆是一个特定的存储区域。它的分配和使用方法是把它分成若干个变长的子存储区,其中一部分用来存储数据。有些是免费使用的。创建数据时。需要从免费公共区域中选择一个足够大的免费区域来存储数据。当数据不再被使用时,相应的存储区域就会被释放。这种存储分配方法称为堆分配。堆分配适用于程序操作中的可变长度数据。比如USP语言教育中的表格。

生成代码时,首先考虑每个程序或中间序列中的句子对应的目标程序结构,然后进行一对多的转换。有的可能事先不知道,但可以先等确定了,记下位置,拉青蛙,知道了眼泪再回到它身边。为7 生成更有效的目标代码。另一个重要的考虑因素是如何更有效地使用寄存器。此外。地址计算、数组引用等也各不相同,这里就不一一描述了。

我们专注高端建站,小程序开发、软件系统定制开发、BUG修复、物联网开发、各类API接口对接开发等。十余年开发经验,每一个项目承诺做到满意为止,多一次对比,一定让您多一份收获!

本文章出于推来客官网,转载请表明原文地址://www.tlkjt.com/web/12155.html

扫码联系客服

3985758

回到顶部