Можно ли использовать байт-код, созданный luac, на компьютерах без библиотеки Lua? - PullRequest
6 голосов
/ 03 апреля 2012

Если я скомпилирую обычный файл .lua с luac, можно ли будет запустить результат без установленной библиотеки Lua или интерпретатора?

Ответы [ 2 ]

8 голосов
/ 03 апреля 2012

Нет.Вы можете запустить его на версии Lua, которая была собрана без компилятора, но вам все еще нужен интерпретатор Lua для выполнения кода.

Кстати, скомпилированный байт-код Lua также зависит от компьютера;то есть вы не можете скомпилировать на одной архитектуре, а затем запустить этот вывод на другой архитектуре, если вы не понимаете тонкостей (порядковый номер, размеры типов и т. д.).

1 голос
/ 12 апреля 2012

Если в вашем коде не используются какие-либо средства динамической загрузки (например, loadstring, loadfile, require и т. Д.), Вы можете разделить библиотеку Lua до виртуальной машины, потому что компилятор выдает код для запуска на этой виртуальной машине. , Это может легко сократить Lua уже небольшой след до 1/3 фракции оригинала.

Однако, поскольку это НЕ нативный двоичный код для какой-либо существующей архитектуры, вы все равно НЕ МОЖЕТЕ запустить его напрямую без помощи ВМ.

...