如果我用 编译一个常规.lua
文件luac
,可以在没有安装 Lua 库或解释器的情况下运行结果吗?
问问题
683 次
2 回答
8
不,你可以在没有编译器的 Lua 版本上运行它,但你仍然需要 Lua 解释器来执行代码。
顺便说一句,编译的 Lua 字节码也是机器特定的;即你不能在一个架构上编译然后在另一个架构上运行该输出,除非你了解其中的细微之处(字节顺序、类型大小等)。
于 2012-04-03T00:53:46.037 回答
2
如果您的代码不使用任何基于动态负载的工具(即 loadstring、loadfile、require 等),您可以将 Lua 库剥离为仅一个 VM,因为编译器发出的是要在此虚拟机上运行的代码。这可以很容易地将已经很小的 Lua 占用减少到原来的 1/3 分数。
但是,由于这不是任何当前现有架构的本机二进制代码,因此您仍然无法在没有 VM 帮助的情况下直接运行它。
于 2012-04-12T13:05:09.037 回答