¿Por qué convertir LUA a LUAC?
Distribuir scripts como bytecode elimina la sobrecarga de análisis en cada carga y evita la lectura casual del código fuente. El formato .luac es la representación de bytecode compilado nativo de Lua, producido directamente por la cadena de herramientas estándar de Lua que se incluye con cada instalación de Lua.
Cómo convertir LUA a LUAC
luac FREE
Ejecute luac -o script.luac script.lua en una terminal. Añada -s para eliminar la información de depuración y obtener un archivo más pequeño, o enumere varios archivos .lua para compilarlos en un solo bloque de bytecode.
LuaJIT FREE
Ejecute luajit -b script.lua script.luac para compilar al formato de bytecode propio de LuaJIT. Tenga en cuenta que el bytecode de LuaJIT es incompatible con la VM estándar de Lua.
Acerca de estos formatos
Un archivo LUA es código fuente escrito en Lua, un lenguaje de programación ligero creado en 1993. Cualquier editor de código (VS Code, Notepad++) lo abre para lectura o edición. Para…
Abrir detalles de .LUA →Un archivo .LUAC está asociado con Lua Compiled Source Code, un archivo de tipo developer.
Abrir detalles de .LUAC →Calidad y qué observar
- Un archivo
.luacestá vinculado a la versión exacta de Lua que lo compiló; el bytecode deluac 5.4será rechazado por Lua 5.3 o versiones anteriores. - El bytecode no está cifrado - herramientas como
unluacpueden descompilar parcialmente archivos.luac. No confíe en él para proteger lógica sensible. - El formato de bytecode es específico de la plataforma; un
.luaccompilado en una máquina de 64 bits puede fallar en un dispositivo de 32 bits. Compile en la misma plataforma que lo ejecutará.
Preguntas frecuentes
¿Está luac ya instalado si tengo Lua?
luac se incluye con la distribución oficial de Lua y no requiere una descarga por separado.¿Se ejecutará el archivo .luac más rápido que el .lua original?
¿Puedo recuperar el código fuente .lua original de un archivo .luac?
-s a luac elimina incluso los números de línea y los nombres de funciones, lo que dificulta la recuperación.¿Utiliza LuaJIT el mismo formato de bytecode que el Lua estándar?
luajit -b solo cuando el objetivo también ejecute LuaJIT.