登录 注册
当前位置:主页 > 资源下载 > 49 > 从零到一抖音运营变现:字节码运行全面指南

从零到一抖音运营变现:字节码运行全面指南

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

资源介绍

7.2 字节码的运行 在第六章,我们讨论了 畃 函数在 界畵畡 中的运行过程。在这一章,我们来看看 界畵畡 函数是如何工作的。 如果仅看 界畵畡 虚拟机配备的操作码,实现这个虚拟机是非常容易的。界畵畡 支持的数据类很简单,所以虚 拟机指令也只有简单的四则运算、字符串连接、生成闭包、分支比较、对表结构的读写、畆畯畲 循环的处理、 函数调用及返回,等等。 如果熟悉 界畵畡 语言,可以把 界畵畡 有限的语言特性一一对应到字节码的操作中。元表和协程这两个由 界畵畡 第 电 版引入的特性,在操作码中找不到对应物,它们以 畃 库的形式提供融入到虚拟机的实现中。假设我们重 新实现一个削减版的 界畵畡 ,去掉协程甚至元表这两个特性,也不考虑自动垃圾收集的话10,仅需要用一个简 单的循环依次解析字节码的操作类型,做出相应的操作就够了。 7.2.1 luaV execute 畬畵畡畖 略畸略畣畵畴略 是 界畵畡 虚拟机执行一段字节码的入口。如果把 界畵畡 虚拟机看成一个状态机11,它就是从当 前调用栈上次运行点开始解释字节码指令,直到下一个 畃 边界跳出点。所谓 畃 边界跳出点,可以是函数执 行完毕,也可以是一次协程 畹畩略畬畤 操作。 8当 R(A+2) 为负数时,这个比较关系应该颠倒过来。 9有的软件不想让别人分析内嵌的 Lua 字节码,会打乱这些操作码的次序,使得标准的 Lua 反编译工具难以解析出正确的结果。 10用其它语言实现 Lua 的需求,一般出现在希望把 Lua 嵌入到 Java ,C# 这样的环境中。这些环境大多原生支持自动垃圾收集,不必特别去实 现。 11lua State 这个结构名暗示了“状态机”这个含义。