Можно ли использовать байт-код, созданный luac, на компьютерах без библиотеки Lua?
Если я соберу регулярный .lua
файл с luac
, можно ли запустить результат без установленной библиотеки Lua или интерпретатора?
2 ответа
Нет. Вы можете запустить его на версии Lua, созданной без компилятора, но вам все еще нужен интерпретатор Lua для выполнения кода.
Кстати, скомпилированный байт-код Lua также зависит от компьютера; то есть вы не можете скомпилировать на одной архитектуре, а затем запустить этот вывод на другой архитектуре, если вы не понимаете тонкостей (порядковый номер, размеры типов и т. д.).
Если ваш код не использует каких-либо средств динамической загрузки (например, loadstring, loadfile, require и т. Д.), Вы можете разделить библиотеку Lua до виртуальной машины, потому что компилятор выдает код для запуска на этой виртуальной машине. Это может легко сократить Lua уже небольшой след до 1/3 фракции оригинала.
Однако, поскольку это НЕ нативный двоичный код для какой-либо существующей в настоящее время архитектуры, вы все равно НЕ МОЖЕТЕ запустить его напрямую без помощи ВМ.