Waarom LUA naar LUAC converteren?
Het distribueren van scripts als bytecode verwijdert de parse-overhead bij elke laadbeurt en voorkomt het eenvoudig lezen van de broncode. Het .luac-formaat is de eigen gecompileerde bytecode-representatie van Lua, rechtstreeks geproduceerd door de standaard Lua-toolchain die bij elke Lua-installatie wordt geleverd.
Hoe LUA naar LUAC te converteren
luac FREE
Voer luac -o script.luac script.lua uit in een terminal. Voeg -s toe om debug-informatie te verwijderen voor een kleiner bestand, of vermeld meerdere .lua-bestanden om ze in één bytecode-chunk te compileren.
LuaJIT FREE
Voer luajit -b script.lua script.luac uit om te compileren naar het eigen bytecode-formaat van LuaJIT. Let op: LuaJIT-bytecode is incompatibel met de standaard Lua VM.
Over deze formaten
Een LUA-bestand is broncode geschreven in Lua, een lichtgewicht scripttaal die in 1993 werd gecreëerd. Elke code-editor (VS Code, Notepad++) opent het voor lezen of bewerken. Om het uit te…
Open .LUA details →Een .LUAC-bestand is gekoppeld aan Lua Compiled Source Code, een developer-bestand.
Open .LUAC details →Kwaliteit & waar op te letten
- Een
.luac-bestand is gebonden aan de exacte Lua-versie die het heeft gecompileerd; bytecode vanluac 5.4zal worden geweigerd door Lua 5.3 of ouder. - Bytecode is niet versleuteld - tools zoals
unluackunnen.luac-bestanden gedeeltelijk decompileren. Vertrouw er niet op om gevoelige logica te beschermen. - Het bytecode-formaat is platformspecifiek; een
.luacgecompileerd op een 64-bits machine kan falen op een 32-bits apparaat. Compileer op hetzelfde platform als waarop het zal draaien.
Veelgestelde vragen
Is luac al geïnstalleerd als ik Lua heb?
luac wordt meegeleverd met de officiële Lua-distributie en vereist geen aparte download.Zal het .luac-bestand sneller draaien dan de originele .lua?
Kan ik de originele .lua-broncode herstellen uit een .luac-bestand?
-s bij luac verwijdert zelfs regelnummers en functienamen, wat herstel bemoeilijkt.Gebruikt LuaJIT hetzelfde bytecode-formaat als standaard Lua?
luajit -b alleen wanneer het doelplatform ook LuaJIT draait.