Lua的机器码

本文探讨了Lua的机器码和虚拟机,通过示例展示了如何使用luac5.1.exe显示Lua脚本的机器码,并讨论了Lua与Python的执行方式区别,指出Lua是编译执行,而Python的解释执行方式导致其效率低于Lua。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

     我的脚本开发到了中途,变量,函数,for,while,if then else elseif 都写完了。开始写的时候就定下誓约,不和Lua比速度。因为是自己写的,函数接口可以写的很友好,需要特殊的功能和语法也可以添加。虚拟机准备向c过度。

    很长时间都是用luaide进行Lua的学习,lua用的最多的一次也都是LuaPlayer,所以最近尝试用Lua本身的编译器和解释器试下。 使用中还发现一个很搞笑的东西,从sourceforge上下载的最新lua5.1的代码有vc6.0 到2005的工程,打开2005编译,竟然有一个工程链接不过,遂查了一下,官方做工程时搞掉了一个原文件,而后自己做了一个vs2005pass的包。使用lua5.1.exe [filename]  可以运行脚本,用luac5.1.exe -l [filename] 就可以显示lua的机器码。看代码:

main <test.lua:0,0> (9 instructions, 36 bytes at 00375698)
0+ params, 2 slots, 0 upvalues, 0 locals, 4 constants, 0 functions
 1 [39] LOADK     0 -2 ; 0
 2 [39] SETGLOBAL 0 -1 ; a
 3 [40] GETGLOBAL 0 -1 ; a
 4 [40] ADD       0 0 -3 ; - 1
 5 [40] SETGLOBAL 0 -1 ; a
 6 [42] GETGLO

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值