компиляция скрипта lua в отдельный исполняемый файл - PullRequest
3 голосов
/ 16 декабря 2010

Есть ли способ создать автономный исполняемый файл из простых сценариев lua? Под простым я подразумеваю: я просто использую то, что предоставляет lua 5.1.

если так, есть ли какой-нибудь "кросс-компилятор"? я хотел бы создать исполняемые файлы для системы Linux на моей системе Mac OSX.

спасибо заранее!

Ответы [ 5 ]

7 голосов
/ 16 декабря 2010

Вы можете сделать исполняемые скрипты Lua с помощью chmod +x и добавив #!/usr/bin/env lua. Но вам нужно будет установить интерпретатор Lua. Для другого подхода, см. Мой srlua .

4 голосов
/ 16 декабря 2010

murgaLua упаковывает один исполняемый компилятор, а squish также очень удобно для сжатия сценариев lua и даже других файлов и деревьев каталогов в одном простом для распространения файле (хотя вам все еще нуженвремя выполнения для выполнения этого файла).

1 голос
/ 16 декабря 2010

Я не знаю ни одного "готового" готового к этому.

Очень простой подход - изменить интерпретатор lua, поставляемый с lua, чтобы включить ваш пользовательский.скрипты в двоичном файле (и, возможно, отключить интерактивные опции).

Таким образом, вы можете запустить свой скрипт с этим исполняемым файлом.

Существует lua2bin (если я правильно помню его имя) преобразовать скрипт lua в c-файл, который вы можете включить в ваше приложение.

0 голосов
/ 24 июня 2015

Выпущен LuaJIT 2.0.4 2015-05-14
(Я использую его в Linux на основе Debian (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

0 голосов
/ 02 сентября 2011

попробуйте использовать bin2c Lua, который даст вам исходный код C вашего скрипта lua.Если вы используете внешние библиотеки lua, это может быть немного сложнее, но с этим может помочь squish.Или вы можете просто luaL_loadstring все

...