【问题标题】:Compiling lua scripts into a dll?将lua脚本编译成dll?
【发布时间】:2012-07-28 20:38:50
【问题描述】:

我听说过使用 LuaJIT 将 Lua 代码编译成字节码,然后编译成静态库。

理想情况下,我希望能够将 Lua 代码编译成动态库,这样我就不必重新构建主可执行文件。

你能把 Lua 编译成 dll 吗?如果是这样,由于没有标头,您如何将其链接到 c++ 代码? 最后,您将如何从程序内部运行 Lua 脚本?

【问题讨论】:

  • “理想情况下,我希望能够将 Lua 代码编译成动态库,这样我就不必重新构建主可执行文件。”我不明白将 Lua 构建为 DLL 与重建主可执行文件有何关系。您多久重新编译一次 Lua ?你说的是 Lua 解释器还是 Lua 脚本

标签: c++ dll lua luajit


【解决方案1】:

我相信您要做的是将 lua interperter dll (http://www.lua.org/pil/24.html) 链接到您的程序,然后将脚本作为资源包含在您的 c/c++ 程序的标头中,并使用 lua.dll 函数执行它。您也可以使用该方法从 C 调用 lua 函数(这显示了几个完整的带有头文件的 sn-p 示例http://www.troubleshooters.com/codecorn/lua/lua_c_calls_lua.htm)。

【讨论】:

  • 谢谢,但我仍然需要重新编译 exe,这违背了我想要实现的目标
  • @DavidC 没有什么说你必须让它保持静态并嵌入到可执行文件中,你可以将脚本保持在外部并使用文件读取函数将其加载到内存中,然后使用 lua 函数从dll。
猜你喜欢
  • 2013-07-24
  • 2012-04-17
  • 2018-09-25
  • 2012-01-19
  • 2021-11-27
  • 1970-01-01
  • 2013-05-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多