我正在为我的应用程序创建一个 Lua API,以实现快速、数据驱动的设计和可修改性。它遵循这个模块/子模块层次结构:
core
-> audio
-> network
-> video
-> etc.
库应该在每个子模块的文件中实现(以及顶级核心函数的文件),一些函数也可以用 C 实现。
什么是最好的组织方式?
最佳答案
好吧,一种方法是将组件视为单独的库,然后将它们拉入 Lua 中的 core
对象。将audio
、network
等实现为独立的组件,并按照
core
-- core.lua
core = {
audio = require "audio",
network = require "network",
...
}
return core
这应该工作得很好,“模块再导出模式”是我在许多语言中看到的东西,所以我想它应该工作正常。
一般来说,为一个模块混合 C 和 Lua 实现应该很容易用谷歌搜索。
关于c - 在 API 中混合 Lua 代码和 C 代码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22541657/