首页 > 系统相关 >10.10 临时确保局部变量用的内存空间

10.10 临时确保局部变量用的内存空间

时间:2023-02-14 22:57:21浏览次数:43  
标签:10 定义 局部变量 内存空间 寄存器 10.10

     在代码清单10-6中定义了10个局部变量。这是为了表示存储局部变量的不仅仅是栈,还是寄存器。为了确保c1~c10所需的领域,寄存器空闲时就使用寄存器,寄存器空间不足就使用栈。

      x86 系列 CPU拥有的寄存器中,程序可以操作的有十几个。其中空闲的,最多也只有几个。因而,局部变量数目很多的时候,可分配的寄存器就不够了。这种情况下,局部变量就会申请分配栈的内存空间。虽然栈的内存空间也是作为一种存储数据的段定义来处理的,但在程序各部分都可以共享并临时使用这一点上,它和 DATA 段定义及 BSS 段定义在性质上还是有些差异的。例如,在函数入口处为变量申请分配栈的内存空间的话,就必须在函数出口处进行释放。否则,经过多次调用函数后,栈的内存空间就会被甩光。

标签:10,定义,局部变量,内存空间,寄存器,10.10
From: https://www.cnblogs.com/ttmeng/p/17121133.html

相关文章

  • 10.9 始终确保全局变量用的内存空间
    在C语言中,在函数外部定义的变量称为全局变量,在函数内部定义的变量称为局部变量。全局变量可以参阅源代码的任意部分,而局部变量只能在定义该变量的函数内进行参阅。  ......
  • egret 利用lambda同时使用局部变量和全局变量
    privatecreateGameScene(){letstageW=this.stage.stageWidth;letstageH=this.stage.stageHeight;letbt=newegret.Bitmap();bt.texture=RES.getRes(......
  • 记录一种我第一次见的“局部变量”外部赋值方法
    比如在libgo中的函数Processer*&Processer::GetCurrentProcesser(){staticthread_localProcesser*proc=nullptr;returnproc;}然后给proc赋值可以......
  • 局部变量与全局变量 js 230208
    目标明确变量声明的区别vara=1b=2的区别要明确体验......
  • 10.9始终确保全局变量用的内存空间
    在C语言中,在函数外部定义的变量称为全局变量,在函数内部定义的变量称为局部变量。全局变量可以参阅源代码的任意部分,而局部变量只能在定义该变量的函数内进行参阅。  ......
  • 10.10
    函数内部利用的栈,在函数处理完毕后会恢复到初始状态,因此局部变量的值也就被销毁了,而寄存器也可能会被用于其他目的。因此,局部变量只是在函数处理运行期间临时存储在寄存器......
  • 10.9始终确保全局变量用的内存空间
    熟悉了汇编语言后,接下来将进人到本章的后半部分。C语言中在函数外部定义的变量称为全局变量,在函数内部定义的变量称为局部变量。全局变量可以参阅源代码的任意部分,而局部......
  • 10.10临时确保局部变量用的内存空间
    为什么局部变量只能在定义该变量的函数内进行参阅呢?这是因为,局部变量是临时保存在寄存器和栈中的。正如本章前半部分讲的那样,函数内部利用的栈,在函数处理完毕后会恢复到初......
  • 全局变量和局部变量使用问题
      在Java中变量类型有成员变量、局部变量和静态变量(类变量、static变量),本篇文章主要介绍成员变量(全局变量)和局部变量的区别。根据变量的作用范围,将程序中的变量分为......
  • Jmeter-用户定义变量(全局变量)与用户参数(局部变量)-5.31
    1、位置-作用域-运行次数 用户定义变量位置:配置元件、测试计划作用域:全局变量,作用于整个测试计划在启动运行时,获取一次值,在运行过程中,不会动态获取值,在运行......