组合 Lua 二进制文件

Combining Lua binaries

本文关键字:二进制文件 Lua 组合      更新时间:2023-10-16

我有几个Lua脚本,它们都require一些定义一些常见函数的脚本。这会产生类似于 C 中的标头系统的情况,我一遍又一遍地重新编译相同的代码。这是不可取的,因为这些脚本是在运行时编译的。我已经有一个系统可以在编译脚本后缓存二进制文件,但我想知道是否有办法编译required 脚本和单独使用它们的脚本,然后将它们组合在一起。

如果调用 require 的那些 Lua 脚本以相同的状态执行,则"required"脚本只执行一次,因为它们返回的值缓存在表中package.loaded。如果您从以不同 Lua 状态执行的脚本中"需要"它们,那么您可以组合和预编译脚本,然后加载它们一次;您可以使用luac来执行此操作。