【问题标题】:Including C libraries in Lua在 Lua 中包含 C 库
【发布时间】:2016-05-31 21:07:45
【问题描述】:

大多数examples online 的 C-to-Lua 实现表明 C 程序与 Lua 状态和编译器混在一起,甚至以特殊方式编译这两个文件以使其正常工作。

但是有没有办法从 Lua 调用 C 函数,而 C 程序不知道它将在 Lua 程序中使用?

我的意思是加载 Lua 库:为此,我只需调用

module = require("/path/library")
module.doSomething()

来自标准的 Lua 解释器,而我在网上找到的 C-to-Lua 示例说,你不仅必须修改 C 程序以适应 Lua,而且还需要以特殊方式编译它们,例如那个。

那么,是否可以从标准 Lua 解释器调用 C 函数,而无需知道 C 模块将在 Lua 中使用?

我不知道它是否有任何帮助,但我正在使用 LuaJIT。

【问题讨论】:

  • LuaJIT 支持 FFI。
  • 哦,废话,我现在感觉很愚蠢。
  • 还有 LUAFFI 和外星人库与常规 Lua 一起工作。 Ant 也绑定到 Tiny C(libtcc)。

标签: c lua


【解决方案1】:

使用集成到 LuaJIT 中的FFI library

【讨论】:

    猜你喜欢
    • 2013-05-12
    • 1970-01-01
    • 2014-04-13
    • 2022-08-17
    • 2014-08-30
    • 2011-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多