在 Lua 中使用 C 库

大部分在线的 C 到 Lua 实现示例展现了 C 程序与 Lua 状态和编译器杂糅在一起,甚至需要以特殊方式编译两个文件才能正常工作。

但是能不能通过一种方式,在不知道 C 程序将在 Lua 中使用的情况下,从 Lua 中调用 C 函数呢?

我的意思是像加载 Lua 库一样:可以通过在标准 Lua 解释器中调用

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

来实现,而我发现在线的 C 到 Lua 示例不仅需要修改 C 程序以适配 Lua,还需要以特殊方式编译它们等。

所以,是否有可能在标准 Lua 解释器中调用 C 函数而不让 C 模块知道它将在 Lua 中使用呢?

我不知道这有什么用处,但我正在使用 LuaJIT。

点赞
用户107090
用户107090

使用集成在LuaJIT中的FFI库

2016-05-29 19:36:23