组合Lua二进制文件

我有几个Lua脚本都 require 一些定义一些公共函数的脚本。这就创建了一种类似于C中头文件系统的情况,我一遍又一遍地重新编译同样的代码。这是不可取的,因为这些脚本是在运行时编译的。我已经有一个缓存二进制文件的系统,在脚本被编译后进行缓存,但我想知道是否有一种方法可以分别编译require 的脚本和使用它们的脚本,然后将它们组合起来。

点赞
用户1442917
用户1442917

如果那些调用 require 的 Lua 脚本在同一个状态下被执行,那么“被引用”的脚本只会被执行一次,因为其返回值被缓存在 package.loaded 表中。如果您在不同的 Lua 状态下执行脚本时需要“引用”它们,则可以将它们合并、预编译,然后仅加载一次;您可以使用 luac 完成此操作。

2017-02-26 05:46:17