Dlaczego konwertować LUA na LUAC?
Dystrybucja skryptów jako kodu bajtowego usuwa narzut związany z analizą składni przy każdym ładowaniu i zapobiega swobodnemu czytaniu kodu źródłowego. Format .luac to natywna skompilowana reprezentacja kodu bajtowego Lua, tworzona bezpośrednio przez standardowy zestaw narzędzi Lua dostarczany z każdą instalacją Lua.
Jak przekonwertować LUA na LUAC
luac FREE
Uruchom luac -o script.luac script.lua w terminalu. Dodaj -s, aby usunąć informacje debugowania dla mniejszego rozmiaru pliku, lub wymień wiele plików .lua, aby skompilować je do jednego bloku kodu bajtowego.
LuaJIT FREE
Uruchom luajit -b script.lua script.luac, aby skompilować do własnego formatu kodu bajtowego LuaJIT. Pamiętaj, że kod bajtowy LuaJIT jest niekompatybilny ze standardową maszyną wirtualną Lua.
O tych formatach
Plik LUA to kod źródłowy napisany w Lua, lekkim języku skryptowym stworzonym w 1993 roku. Dowolny edytor kodu (VS Code, Notepad++) otwiera go do odczytu lub edycji. Aby go uruchomić,…
Otwórz szczegóły .LUA →Plik .LUAC jest powiązany z Lua Compiled Source Code, który jest plikiem typu developer.
Otwórz szczegóły .LUAC →Jakość i na co uważać
- Plik
.luacjest powiązany z dokładną wersją Lua, która go skompilowała; kod bajtowy zluac 5.4zostanie odrzucony przez Lua 5.3 lub starsze. - Kod bajtowy nie jest zaszyfrowany - narzędzia takie jak
unluacmogą częściowo dekompilować pliki.luac. Nie polegaj na nim w celu ochrony wrażliwej logiki. - Format kodu bajtowego jest specyficzny dla platformy;
.luacskompilowany na maszynie 64-bitowej może zawieść na urządzeniu 32-bitowym. Kompiluj na tej samej platformie, na której będzie on uruchamiany.
Najczęściej zadawane pytania
Czy luac jest już zainstalowany, jeśli mam Lua?
luac jest dostarczany z oficjalną dystrybucją Lua i nie wymaga osobnego pobierania.Czy plik .luac będzie działał szybciej niż oryginalny .lua?
Czy mogę odzyskać oryginalny kod źródłowy .lua z pliku .luac?
-s w luac usuwa nawet numery linii i nazwy funkcji, utrudniając odzyskanie kodu.Czy LuaJIT używa tego samego formatu kodu bajtowego co standardowa Lua?
luajit -b tylko wtedy, gdy docelowe środowisko również korzysta z LuaJIT.