本文简单介绍一下如何阅读lua的字节码。
有以下lua源码:
--文件名:main.lua
local a = 123
local b = 456
function foo()
local c = 1
return 1, 123, a
end
我们使用luac这个工具(使用lua源码可以编译出来)可以查看这段代码对应的字节码是怎样的,使用以下命令(windows下):luac.exe -l -l -p main.lua
下图是生成的字节码信息:
本文详细介绍了如何阅读和理解Lua的字节码。通过luac工具查看lua源码编译后的字节码信息,强调了lua以函数为单位生成字节码,每个函数拥有独立的指令表、常量表、局部变量表和upvalue表。重点解析了GETUPVAL和LOADK指令的参数含义,并解释了常量表索引从1开始的原因。
本文简单介绍一下如何阅读lua的字节码。
有以下lua源码:
--文件名:main.lua
local a = 123
local b = 456
function foo()
local c = 1
return 1, 123, a
end
我们使用luac这个工具(使用lua源码可以编译出来)可以查看这段代码对应的字节码是怎样的,使用以下命令(windows下):luac.exe -l -l -p main.lua
下图是生成的字节码信息:
4881
336

被折叠的 条评论
为什么被折叠?