Por que converter LUA para EXE?
Distribuir um script .lua para usuários sem uma instalação do Lua requer o agrupamento do runtime com o script. O empacotamento para .exe apresenta a ferramenta como um aplicativo Windows normal e remove qualquer dependência de ter o Lua instalado na máquina de destino.
Como converter LUA para EXE
srlua FREE
Execute glue.exe lua.exe seuscritp.lua output.exe para agrupar o script com um runtime Lua reduzido em um .exe autônomo. Scripts que utilizam require para bibliotecas C nativas ainda precisam que esses arquivos .dll sejam colocados ao lado do executável.
luastatic FREE
Execute luastatic seuscritp.lua liblua.a -I/path/to/lua/include para vincular estaticamente o script e suas dependências Lua em um executável nativo. Requer LuaRocks e um compilador C como o MinGW.
Sobre estes formatos
Um arquivo LUA é um código-fonte escrito em Lua, uma linguagem de script leve criada em 1993. Qualquer editor de código (VS Code, Notepad++) o abre para leitura ou edição. Para executá-lo,…
Abrir detalhes de .LUA →Um arquivo EXE é um programa executável do Windows. No Windows, clique duas vezes para executá-lo. No Mac ou Linux, use o CrossOver ou Wine - os EXEs não rodam nativamente fora do Windows.…
Abrir detalhes de .EXE →Qualidade e o que observar
- O srlua incorpora o código-fonte Lua original dentro do
.exe; o script pode ser extraído com um editor hexadecimal. O luastatic compila para código nativo e é mais difícil de reverter, embora não seja impossível. - Módulos Lua externos e arquivos
.dllnativos não são agrupados automaticamente pelo srlua e devem ser distribuídos junto ao.exe. - O luastatic no Linux ou macOS produz um binário ELF ou Mach-O, não um
.exe. Compile na plataforma de destino para obter o tipo de binário correto.
Perguntas frequentes
A máquina de destino precisa do Lua instalado para rodar o .exe?
Qual é a diferença entre srlua e luastatic?
Posso empacotar um script que usa bibliotecas externas?
.dll nativos sejam colocados ao lado do .exe.