登录 注册
当前位置:主页 > 资源下载 > 49 > 从0到1抖音运营变现手册大全:详解协程及函数执行

从0到1抖音运营变现手册大全:详解协程及函数执行

  • 更新:2024-05-14 18:30:50
  • 大小:2.13MB
  • 推荐:★★★★★
  • 来源:网友上传分享
  • 类别:游戏开发 - 课程资源
  • 格式:PDF

资源介绍

电田 第六章 协程及函数的执行 由 #define G(L) (L->l_G) 忽略 畬畳畴畡畴略甮畨 中涉及 畧畣 的复杂部分,我们可以先看一眼 畬畵畡 畓畴畡畴略 的数据结构。 源代码 甶甮由町 畬畳畴畡畴略甮畨町 畬畵畡 畓畴畡畴略 由电甴 struct lua_State { 由电电 CommonHeader; 由电甶 lu_byte status; 由电男 StkId top; /* first free slot in the stack */ 由电甸 global_State *l_G; 由电甹 CallInfo *ci; /* call info for current function */ 由甶田 const Instruction *oldpc; /* last pc traced */ 由甶由 StkId stack_last; /* last free slot in the stack */ 由甶甲 StkId stack; /* stack base */ 由甶申 int stacksize; 由甶甴 unsigned short nny; /* number of non -yieldable calls in stack */ 由甶电 unsigned short nCcalls; /* number of nested C calls */ 由甶甶 lu_byte hookmask; 由甶男 lu_byte allowhook; 由甶甸 int basehookcount; 由甶甹 int hookcount; 由男田 lua_Hook hook; 由男由 GCObject *openupval; /* list of open upvalues in this stack */ 由男甲 GCObject *gclist; 由男申 struct lua_longjmp *errorJmp; /* current error recover point */ 由男甴 ptrdiff_t errfunc; /* current error handling function (stack index) */ 由男电 CallInfo base_ci; /* CallInfo for first level (C calling Lua) */ 由男甶 }; 这个数据结构是围绕程序如何执行来设计的,数据栈之外的数据储存并不体现在这个结构中。在 界畵畡 源 代码的其它部分,经常会用到 畬畵畡 畓畴畡畴略 ,但不是所有代码都需要了解结构的细节。一般提到这类数据的地 方,都用变量名 界 来指代它。 接下来,我们来分析 畬畵畡 畓畴畡畴略 中重要的两个数据结构:数据栈和调用链。 6.1.1 数据栈 界畵畡 中的数据可以这样分为两类:值类型和引用类型。值类型可以被任意复制,而引用类型共享一份数 据,由 畇畃 负责维护生命期。界畵畡 使用一个联合 畵畮畩畯畮 畖畡畬畵略 来保存数据。 源代码 甶甮甲町 畬畯畢番略畣畴甮畨町 畖畡畬畵略 申甹由 union Value { 申甹甲 GCObject *gc; /* collectable objects */ 申甹申 void *p; /* light userdata */