luac产生的字节码可以在没有Lua库的计算机上使用吗?

luac产生的字节码可以在没有Lua库的计算机上使用吗?,lua,luac,Lua,Luac,如果我使用luac编译一个常规的.lua文件,结果是否可以在没有安装lua库或解释器的情况下运行?否。您可以在没有编译器的情况下构建的lua版本上运行它,但仍然需要lua解释器来执行代码 顺便提一下,编译的Lua字节码也是机器特定的;i、 e.除非您了解其中的微妙之处(endianness、类型大小等),否则无法在一个体系结构上编译然后在另一个体系结构上运行该输出。如果您的代码不使用任何基于动态负载的工具(即loadstring、loadfile、require等),您可以将Lua库剥离为一个V

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

否。您可以在没有编译器的情况下构建的lua版本上运行它,但仍然需要lua解释器来执行代码


顺便提一下,编译的Lua字节码也是机器特定的;i、 e.除非您了解其中的微妙之处(endianness、类型大小等),否则无法在一个体系结构上编译然后在另一个体系结构上运行该输出。

如果您的代码不使用任何基于动态负载的工具(即loadstring、loadfile、require等),您可以将Lua库剥离为一个VM,因为编译器发出的是要在此虚拟机上运行的代码。这可以很容易地将Lua已经很小的占地面积减少到原来的1/3


但是,由于这不是任何现有体系结构的本机二进制代码,如果没有VM的帮助,您仍然无法直接运行它。

请放弃我的挂起编辑!我完全错了。事实证明Lua字节码的可移植性是有问题的——这是我通过很少的研究发现的。我很抱歉。我已经试着用我的(诚然很重的)编辑来改进这个问题,以反映我认为OP真正在问的问题。如果我错了,请大胆纠正我!无论如何,我认为这个问题确实反映了Lua新用户偶尔会看到的困惑,值得保留。