如何看懂luac -l -l 命令

sample.lua

local a = 8
c = 3

输入命令
luac -l -l sample.lua

main <sample.lua:0,0> (4 instructions, 16 bytes at 006D5948)
0+ params, 2 slots, 0 upvalues, 1 local, 3 constants, 0 functions
        1       [1]     LOADK           0 -1    ; 8
        2       [2]     LOADK           1 -3    ; 3
        3       [2]     SETGLOBAL       1 -2    ; c
        4       [2]     RETURN          0 1
constants (3) for 006D5948:
        1       8
        2       "c"
        3       3
locals (1) for 006D5948:
        0       a       2       4
upvalues (0) for 006D5948:

查了很久,没有找到相关资料,自有从源码入手了,luac.c源码入手了,下面把结果说出来

1 [1] LOADK 0 -1 ; 8

1表示第一条指令
[1]表示对应源文件行号
LOADK 0 -1 表示操作码和操作数 ,把常量表中第一个常量赋值给寄存器0
分号后面的表示注释,通常为为字符串或者数字

constants (3) for 006D5948: 表示3个常量

1 表示第一个常量序号,从1开始 8 代表值

locals (1) for 006D5948: 表示1个局部变量

0 局部变量的序号 从零开始, a局部变量名 2 4 表示作用域 从第二条指令到第四条指令

更多lua指令可参考
http://blog.csdn.net/yuanlin2008/article/details/8423951

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

骇客之技术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值