编译的 Lua 文件(32 位 *.luac 文件)可以在 64 位系统上工作吗?
问问题
3580 次
4 回答
5
引用luac 手册页:
luac 创建的二进制文件只能在具有相同字长和字节顺序的体系结构之间移植。
所以答案是否定的。(我还用 32 位和 64 位机器测试了这种确切情况。)你可以做的一件事是确保你的 Lua 解释器是为 32 位编译的(即使在 64 位机器上),并且我相信Lua会接受它。
于 2010-10-10T16:33:57.973 回答
2
我缺乏经验来支持我的话,但我相信只要使用 32 位 lua 二进制文件来运行该编译文件,它就应该可以工作。或者更确切地说,使用类似设置构建的二进制文件,因为 Lua 提供了相当多的编译器选项,这些选项会影响.luac
文件的输出及其内部结构。
一般来说,规则是不要将 lua 可执行文件与.luac
另一个 lua 可执行文件创建的文件混合使用,因为内部格式高度依赖于 Lua 二进制文件本身的编译方式。
因此,如果您使用创建 .luac 文件的 32 位 Lua 运行它,答案是肯定的。如果您要使用 64 位 Lua 可执行文件运行它,那将是一个非常确定的问题。
于 2010-10-10T16:20:48.890 回答
1
只需在所有 32/64 位系统上使用 32 位字节码。
于 2018-07-14T02:42:11.213 回答
0
您没有说明为什么要交付编译的 Lua 文件(源代码可以更小,并且加载速度很快)。在任何情况下,原始源的替代方案是squish。
于 2010-10-11T14:05:11.820 回答