32位Lua字节码可以在64位系统上运行吗?

时间:2010-10-10 14:44:01

标签: lua 32bit-64bit luac

编译后的Lua文件(32位* .luac文件)是否可以在64位系统上运行?

4 个答案:

答案 0 :(得分:5)

引用luac man page

  

luac创建的二进制文件只能在具有相同字长和字节顺序的体系结构中移植。

所以答案是否定的。 (我还使用32位和64位计算机测试了这种确切情况。)您可以做的一件事是确保您的Lua解释器编译为32位(即使在64位计算机上),并且我相信Lua会接受它。

答案 1 :(得分:2)

我缺乏备份我的话的经验,但我相信只要使用32位lua二进制文件来运行该编译文件,它就应该有效。或者更确切地说,是一个使用类似设置构建的二进制文件,因为Lua提供了一些可能影响.luac文件输出及其内部结构的编译器选项。

通常,规则不是将lua可执行文件的使用与另一个lua可执行文件创建的.luac文件混合使用,因为内部格式高度依赖于Lua二进制文件本身的编译方式。

因此,如果您使用32位Lua运行它,您创建了.luac文件,答案是肯定的。如果您使用64位Lua可执行文件运行它,那将非常明确。

答案 2 :(得分:0)

您没有说明为什么要提供已编译的Lua文件(源代码可以更小,并且加载速度非常快)。无论如何,原始来源的替代方案是squish

答案 3 :(得分:0)

https://github.com/c0i/lua32

仅在所有32/64位系统上使用32位字节码。