繁体   English   中英

在 MacOS 上将 Lua 脚本编译为 32 位字节码

[英]Compile Lua script to 32 bit bytecode on MacOS

我正在将 Lua 脚本编译成 MacOS Catalina 上的二进制文件。

luac -s -o bin/my-binary.luac src/my-code.lua"

但是,使用已编译脚本的应用程序运行 32 位版本的 Lua,并且无法读取 64 位已编译 Lua 脚本的字节码。 (错误消息:预编译块中的 header 错误)。

我可以以某种方式(交叉)将当前 MacOS 上的 Lua 脚本编译为 32 位二进制文件吗? 我的替代方法是使用 Docker 进行编译,但也许有更简单的方法。

我没有看到交叉编译或更改位数的任何选项,但您可以调整 Lua 代码以生成您需要的代码。 这是 Lua 5.1 的邮件列表线程,建议使用#define LUAC_STR_SIZE_TYPE int

如果这不起作用,您可以更改ldump.c以生成 32 位兼容代码。 源代码有如下注释(5.4): All high-level dumps go through dumpVector; you can change it to change the endianness of the result All high-level dumps go through dumpVector; you can change it to change the endianness of the result 您可以通过更改DIBSdumpSize和其他几个地方的处理来更新它以更改位数。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM