7

如果我用 编译一个常规.lua文件luac,可以在没有安装 Lua 库或解释器的情况下运行结果吗?

4

2 回答 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 回答