天天看點

chapter8_2 預編譯

用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()      

預編譯的代碼比源檔案執行速度快,但是檔案大小不一定比源檔案小。

還有一點它可以起到保護源代碼的作用。