lua是如何执行的 其中分析.执行部分都是c语言实现的. lua与c的关系 lua的虚拟机是用c语言实现的,换句话说一段lua指令最终在执行时都是当作c语言来执行的,lua的global表,函数调用栈也都是存在c语言中的一个叫lua_State的结构体中的. 举个例子,来看下lua中的加指令 OP_ADD a b c 是如何实现的: lua在运行时,会在c语言中的一个叫luaV_excute的函数中不断执行翻译后的lua指令,OP_ADD就是其中的一条指令(luaV_excute函数太长了,所以…
链表 由于table是动态的实体,所以在Lua中实现链表是很方便的.每个节点以一个table来表示,一个“链表”只是节点table中的一个字段. 该字段包含了对其他table的引用.例如,要实现一个基础的列表,其中每个节点具有两个字段:next和value 创建一个链表: list = nil list = {next = list,value = v} --遍历此链表 local l = list while l do <访问 l.value > l = l.next end 也可以参考之前…