我有几个 Lua 脚本,它们都需要
一些定义一些通用函数的脚本。这造成了一种类似于 C 中的 header 系统的情况,我在 C 中一遍又一遍地重新编译相同的代码。这是不可取的,因为这些脚本是在运行时编译的。我已经有一个系统可以在编译脚本后缓存二进制文件,但我想知道是否有办法编译 require
d 脚本和分别使用它们的脚本,然后将它们组合起来。
最佳答案
如果那些调用 require 的 Lua 脚本在相同的状态下执行,那么“required”脚本只执行一次,因为它们的返回值缓存在 package.loaded
表中。如果您从在不同 Lua 状态下执行的脚本中“要求”它们,那么您可以组合并预编译脚本,然后加载它们一次;你可以使用 luac
来做到这一点。
关于c++ - 组合 Lua 二进制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42465010/