将Lua代码与API中的C代码混合使用

时间:2014-03-20 18:11:42

标签: c api lua

我正在为我的应用程序创建一个Lua API,以实现快速,数据驱动的设计和可修改性。它遵循此模块/子模块层次结构:

core
 -> audio
 -> network
 -> video
 -> etc.

库应该在每个子模块的文件中实现(以及顶级核心函数的文件),并且某些函数也可以在C中实现。

组织这个的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

好吧,一种方法是将组件视为单独的库,然后将它们拉入Lua中的core对象。将audionetwork等实施为独立组件,并按照

的顺序制作core
-- core.lua

core = {
    audio = require "audio",
    network = require "network",
    ...
}
return core

这应该运行得很好,“模块再出口模式”是我在许多语言中看到的东西,所以我想它应该可以正常工作。

一般来说,混合C和Lua实现一个模块应该很容易google。