用luac程式可以生成一個預編譯檔案——二進制檔案。
比如:
luac -o prog.lc prog.lua --生成了prog.lc二進制檔案
Lua解析器可以執行它就像執行普通lua代碼一樣。
用lua源代碼的地方都可以用預編譯代碼,loadfile和load也接收預編譯代碼。
一個簡陋的luac:
p = loadfile(arg[1])
f = io.open(arg[2],"wb")
f:write(string.dump(p)) --關鍵的函數,接收lua函數,傳回預編譯代碼
f:close()
預編譯的代碼比源檔案執行速度快,但是檔案大小不一定比源檔案小。
還有一點它可以起到保護源代碼的作用。