Lua 配置文件能否在 C 程序中热加载?

我正在尝试将 Lua 嵌入到我的 C 程序中,以扩展程序的调试功能。 Lua 教程描述了如何将 Lua 作为配置文件使用。在配置文件中,可以定义 Lua 变量或甚至函数,因此 C 程序可以加载该文件并使用 Lua 函数来扩展其某些能力。

然而,如果在加载配置文件后修改了其内容,则新内容将不会生效。我的问题是如何支持热加载而无需重新启动 C 程序?

编辑: 更基本的问题是:由于 Lua 函数/变量已经加载,它们可以被覆盖吗?例如,C 程序一直在循环调用 function f1(x) return x*x end,然后在配置文件中将函数更改为 function f1(x) return x*x*x end。如果我们以某种方式可以热加载它,那么 C 程序是否将使用新的定义?

点赞