Perché convertire LUA in LUAC?
Distribuire gli script come bytecode rimuove il sovraccarico di analisi a ogni caricamento e impedisce la lettura casuale del codice sorgente. Il formato .luac è la rappresentazione nativa del bytecode compilato di Lua, prodotta direttamente dalla toolchain standard di Lua inclusa in ogni installazione di Lua.
Come convertire LUA in LUAC
luac FREE
Esegui luac -o script.luac script.lua in un terminale. Aggiungi -s per rimuovere le informazioni di debug e ottenere un file più piccolo, oppure elenca più file .lua per compilarli in un unico blocco di bytecode.
LuaJIT FREE
Esegui luajit -b script.lua script.luac per compilare nel formato bytecode specifico di LuaJIT. Nota che il bytecode di LuaJIT è incompatibile con la VM standard di Lua.
Informazioni su questi formati
Un file LUA è un codice sorgente scritto in Lua, un linguaggio di scripting leggero creato nel 1993. Qualsiasi editor di codice (VS Code, Notepad++) lo apre per la lettura o la modifica.…
Apri dettagli .LUA →Un file .LUAC è associato a Lua Compiled Source Code, un file di tipo developer.
Apri dettagli .LUAC →Qualità e a cosa prestare attenzione
- Un file
.luacè legato all'esatta versione di Lua che lo ha compilato; il bytecode diluac 5.4verrà rifiutato da Lua 5.3 o versioni precedenti. - Il bytecode non è crittografato - strumenti come
unluacpossono decompilare parzialmente i file.luac. Non fare affidamento su di esso per proteggere logiche sensibili. - Il formato del bytecode è specifico per la piattaforma; un file
.luaccompilato su una macchina a 64 bit potrebbe fallire su un dispositivo a 32 bit. Compila sulla stessa piattaforma che lo eseguirà.
Domande frequenti
luac è già installato se ho Lua?
luac viene fornito con la distribuzione ufficiale di Lua e non richiede un download separato.Il file .luac girerà più velocemente dell'originale .lua?
Posso recuperare il sorgente .lua originale da un file .luac?
-s a luac rimuove persino i numeri di riga e i nomi delle funzioni, rendendo il recupero più difficile.LuaJIT utilizza lo stesso formato bytecode di Lua standard?
luajit -b solo quando anche la destinazione esegue LuaJIT.