美文网首页
编译器笔记38-运行存储分配-运行存储分配概述

编译器笔记38-运行存储分配-运行存储分配概述

作者: 衣忌破 | 来源:发表于2020-03-09 17:35 被阅读0次
    运行存储分配策略
    • 编译器在工作过程中,必须为源程序中出现的一些数据对象分配运行时的存储空间。

    • 对于那些在编译时刻就可以确定大小的数据对象,可以在编译时刻就为它们分配存储空间,这样的分配策略称为静态存储分配。

    • 反之,如果不能在编译时完全确定数据对象的大小,就要采用动态存储分配的策略。即在编译时仅产生各种必要的信息,而在运行时刻 ,再动态地分配数据对象的存储空间。(静态和动态分别对应编译时刻和运行时刻)

      栈式存储分配
      堆式存储分配

    运行时内存的划分
    运行时内存的划分.png
    活动记录
    • 使用过程(或函数、方法)作为用户自定义动作的单元的语言,其编译器通常以过程为单位分配存储空间。

    • 过程体的每次执行称为该过程的一个活动(activation)

    • 过程每执行一次,就为它分配一块连续存储区,用来管理过程一次执行所需的信息,这块连续存储区称为活动记录(activation record)

    活动记录的一般形式
    活动记录的一般形式.png

    相关文章

      网友评论

          本文标题:编译器笔记38-运行存储分配-运行存储分配概述

          本文链接:https://www.haomeiwen.com/subject/kqbpdhtx.html