代码拉取完成,页面将自动刷新
同步操作将从 合宙Luat/LuatOS 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
总的开发分成若干部分:
本章主要描述如何开发一个lua模块
分成几个必要的部分
产出物
文档的基本模板
# 标题
## 基本信息
## 为什么写这个功能 -- 实现什么功能
## 设计边界有哪些 -- 做什么, 不做什么
## Lua API -- 暴露给lua代码的api设计成怎样, 最好提供设想的代码
## C API -- 抽象平台层, 封装一下
Lua API, 是暴露给用户lua代码调用的API, 负责读取用户参数, 校验参数, 整理返回值.
通常分3种: 纯lua, 部分lua部分c, 纯c
当前我们设计和实现, 一般是纯C的实现, 它类似这样
int luat_lib_sys_run(Lua_State *L) {
luaL_checkXXX ; // 取参数
lua_sys_xxx ; // 调用C API
luaL_pushXXXX ; // 把返回值压入堆栈
return 2; // 返回值的个数
}
然后配套一个注册函数, 这个可以参考lua内置库, 例如 lmathlib.c
要求:
要求:
Lua_State *L
, 而是传递一个参数列表或数据结构int luat_gpio_setup(luat_gpio_t conf) {
//平台相关的实现...
return 0; // ok or not
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。