Varför konvertera LUA till LUAC?
Att distribuera skript som bytecode tar bort parsningskostnaden vid varje laddning och förhindrar enkel läsning av källkoden. .luac-formatet är Luas infödda kompilerade bytecode-representation, producerad direkt av standardverktygen som medföljer varje Lua-installation.
Hur man konverterar LUA till LUAC
luac FREE
Kör luac -o script.luac script.lua i en terminal. Lägg till -s för att rensa debug-info för en mindre fil, eller lista flera .lua-filer för att kompilera dem till ett enda bytecode-block.
LuaJIT FREE
Kör luajit -b script.lua script.luac för att kompilera till LuaJITs eget bytecode-format. Notera att LuaJIT-bytecode är inkompatibel med standard-Lua VM.
Om dessa format
En LUA-fil är källkod skriven i Lua, ett lättviktigt skriptspråk skapat 1993. Vilken kodredigerare som helst (VS Code, Notepad++) kan öppna den för läsning eller redigering. För att köra…
Öppna detaljer för .LUA →En .LUAC-fil är associerad med Lua Compiled Source Code, en developer-fil.
Öppna detaljer för .LUAC →Kvalitet & vad man bör tänka på
- En
.luac-fil är bunden till exakt den Lua-version som kompilerade den; bytecode frånluac 5.4kommer att avvisas av Lua 5.3 eller tidigare. - Bytecode är inte krypterad - verktyg som
unluackan delvis dekompilera.luac-filer. Lita inte på det för att skydda känslig logik. - Bytecode-formatet är plattformsspecifikt; en
.luackompilerad på en 64-bitars maskin kan misslyckas på en 32-bitars enhet. Kompilera på samma plattform som ska köra den.
Vanliga frågor
Är luac redan installerat om jag har Lua?
luac medföljer den officiella Lua-distributionen och kräver ingen separat nedladdning.Kommer .luac-filen att köras snabbare än den ursprungliga .lua-filen?
Kan jag återställa den ursprungliga .lua-källkoden från en .luac-fil?
-s med luac tar bort även radnummer och funktionsnamn, vilket gör återställning svårare.Använder LuaJIT samma bytecode-format som standard-Lua?
luajit -b endast när målet också kör LuaJIT.