[英]Lua - serialize functions without loadstring?
在lua中,是否可以序列化函数(没有upvalues)并存储它们而不使用LOADSTRING ?
你可以在没有loadstring
情况下序列化和存储它们 - 使用string.dump
。 如果你想重新实现它们,你只需要loadstring
。
如果你以后需要它来重用实际的函数,(而不是为了一些其他简单的目的,比如比较),你仍然需要访问至少字符串版本的loadstring
,因为这是唯一允许你评估Lua源代码的工具。飞。
如果你拥有它,你可以尝试:1)如果你有访问权限,修改Lua引擎本身以保存函数定义的源代码。 2)将Lua字节码写入Lua中的Lua源转换器。 使用Lua的简单VM,它并不像听起来那么艰巨。
如果您根本无法访问loadstring
,则可以尝试在Lua中编写Lua VM。 这比简单的转换器更难,但仍然可行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.