Lua 中类似于 Python dis() 函数的等价实现是什么?

在Python中,您可以使用 dis 查看用户定义函数的编译字节码。

Lua中是否有内置的等效功能?

这将非常有用!

原文链接 https://stackoverflow.com/questions/3872861

点赞
stackoverflow用户44740
stackoverflow用户44740

Chunkspy 可能是你在找的工具。引用该网站的话:

ChunkSpy 是一个将 Lua 5 二进制文件进行反编译的工具,并生成详细的代码清单以供学习。其输出类似于汇编程序代码的清单。我需要一个帮助我详细了解 Lua 二进制文件内部情况的工具,不仅仅是指令。它也意在成为学习 Lua 内部机制的工具。

2010-10-06 17:04:57
stackoverflow用户68204
stackoverflow用户68204

标准lua附带的luac实用程序可以使用其-l选项从Lua源创建汇编程序清单。例如,从stdin编译源:

C:...> echo a=b | luac -l -

main  (3 instructions, 12 bytes at 00334C30)
0+ params, 2 slots, 0 upvalues, 0 locals, 2 constants, 0 functions
        1       [1]     GETGLOBAL       0 -2    ; b
        2       [1]     SETGLOBAL       0 -1    ; a
        3       [1]     RETURN          0 1
C:...>
2010-10-06 22:31:56
stackoverflow用户33252
stackoverflow用户33252

你还可以使用 luac -l 来编译 Lua 文件并输出反汇编。

2010-10-06 22:32:18
stackoverflow用户107090
stackoverflow用户107090

还有lbci,一个字节码检查库。

2010-10-07 10:50:12