Lua luac.exe可以从字符串创建二进制文件。

使用 luac5.1.exe 是否有办法传递一个字符串以创建二进制文件?或者是否有任何模块可以创建一个语法检查的二进制文件?我想要做的是创建一个可以通过 require 再次加载的设置文件。

点赞
用户33252
用户33252

请注意,require 加载 Lua 源文件或动态库。如果您真的需要二进制数据,最好使用自定义加载器。

两个能够实现此功能的库是 Roberto 的 struct 和 lhf 的 lpack

如果您真的想使用 require,那么可以将您的二进制数据转换为字符串,但由于它们可能是 userdata,因此您需要一个 C 函数来将 userdata 转换为 Lua 可访问的类型,例如 stringnumber

2013-03-24 13:46:14
用户107090
用户107090

也许可以尝试这样做:

function compile(source,file)
   io.open(file,"wb")
     :write(string.dump(assert(loadstring(source,""))))
     :close()
end
2013-03-24 16:27:28