将lua脚本编译为独立可执行文件

问题描述 投票:0回答:5

有没有办法从简单的 lua 脚本创建独立的可执行文件?简单地说,我的意思是:我只是使用 lua 5.1 提供的内容。

如果是这样,是否有某种“交叉编译器”可用?我想在我的 mac osx 系统上为 Linux 系统创建可执行文件。

lua cross-compiling
5个回答
7
投票

您可以使用

chmod +x
并添加
#!/usr/bin/env lua
使 Lua 脚本可执行。但你需要安装一个 Lua 解释器。对于不同的方法,请参阅我的srlua


4
投票

murgaLua 打包了一个可执行编译器,并且 squish 也非常适合将 lua 脚本甚至其他文件和目录树压缩为 1 个易于分发的文件(尽管您仍然需要运行时来执行该文件)。


1
投票

我不知道有什么“开箱即用”的方法可以做到这一点。

一个非常直接的方法是修改 lua 附带的 lua 解释器,以将您的自定义脚本包含在二进制文件中(并可能禁用它的交互选项)。

这样您就可以使用该可执行文件启动脚本。

有一个 lua2bin (如果我没记错它的名字的话)可以将 lua 脚本转换为 c 文件,您可以将其包含在您的应用程序中。


0
投票

尝试使用 Lua 的 bin2c,它将为您提供 lua 脚本的 C 源代码。如果您使用外部 lua 库,可能会有点困难,但 smish 可以帮助解决这个问题。或者你可以直接 luaL_loadstring 所有东西


0
投票

LuaJIT 2.0.4已发布2015-05-14
(我在基于 debian 的 linux (Crunchbang) 上使用它

http://luajit.org

$ luajit -v
LuaJIT 2.0.4 -- Copyright (C) 2005-2015 Mike Pall. http://luajit.org/
$ luajit -e 'print(_VERSION)'
Lua 5.1

(将其粘贴在脚本顶部)
#!/usr/bin/env luajit

© www.soinside.com 2019 - 2024. All rights reserved.