用luac程序可以生成一个预编译文件——二进制文件。
比如:
luac -o prog.lc prog.lua --生成了prog.lc二进制文件
Lua解析器可以执行它就像执行普通lua代码一样。
用lua源代码的地方都可以用预编译代码,loadfile和load也接收预编译代码。
一个简陋的luac:
p = loadfile(arg[])
f = io.open(arg[],"wb")
f:write(string.dump(p)) --关键的函数,接收lua函数,返回预编译代码
f:close()
预编译的代码比源文件执行速度快,但是文件大小不一定比源文件小。
还有一点它可以起到保护源代码的作用。