码迷,mamicode.com
首页 > 其他好文 > 详细

lua-设计与实现-8环境与模块

时间:2020-07-29 14:58:44      阅读:59      评论:0      收藏:0      [点我收藏+]

标签:closure   lob   stat   全局   env   设计   不用   运行环境   含义   

8.1环境

含义: 与环境相关的特殊变量一--Global表、env表、registry表以及UpValue 。

  • Global表存放在lua_State 结构体中也称为G表。每个lua_State 结构体都有一个对应的G表。不用多说,这个表就是存放全局变量的。
  • env表存放在Closure 结构体中,也就是每个函数有自己独立的一个环境。
  • registry表是全局唯一的,它存放在global_State结构体中,这个结构体在整个运行环境中只有一个。

作用:

在讲解OP_GETGLOBAL以及OP_SETGLOBAL指令时说到,查找一个全局变量的操作,其实更精确地说,是在当前函数的en v表中查找:

lua-设计与实现-8环境与模块

标签:closure   lob   stat   全局   env   设计   不用   运行环境   含义   

原文地址:https://www.cnblogs.com/Jaysonhome/p/13396023.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!