lua symbexec的2个用途

本文介绍了 Lua 中 symbexec 函数的工作原理及其应用场景。symbexec 模拟 VM 执行流程,可用于 loadstring 代码合法性检查及 lua_getinfo 时确定 firstclass function 的类型。

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

原型: static Instruction symbexec (const Proto *pt, int lastpc, int reg);

symbexec 是安装vm的执行流程来模拟一段opcode的执行, 执行到lastpc, 同时返回修改reg的那条指令。

有2个用途
1. loadstring检查代码是否被篡改,是否合法
2. 用于lua_getinfo的时候 看一个first class的function是global,local,upval 还是其他东西。

总之设计还是很巧妙的。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值