当前位置: 首页 > news >正文

如何让你的程序支持lua脚本

最近做了一个控制机械臂的程序,使用C语言开发的,调试的时候总是需要修改代码来调整运动轨迹,

总是要编译,实在烦人

不过有个方法就是使用lua来调试运动逻辑

代码如下

static int lua_up(lua_State*l)
{size_t step=luaL_checkinteger(l,1);//向上动作up(step);return 0;
}static int lua_down(lua_State*l)
{size_t step=luaL_checkinteger(l,1);//向下动作down(step);return 0;
}static int lua_left(lua_State*l)
{size_t step=luaL_checkinteger(l,1);//向左动作left(step);return 0;
}static int lua_right(lua_State*l)
{size_t step=luaL_checkinteger(l,1);//向右动作right(step);return 0;
}lua_State* initLua()
{lua_State *L;L=luaL_newstate();luaL_openlibs(L);lua_checkstack(L,1000);lua_register(L,"go_left",lua_left);lua_register(L,"go_right",lua_rigit);lua_register(L,"go_up",lua_up);lua_register(L,"go_down",lua_down);return L;
}lua_State* LoadScript(char *file)
{lua_State* L=initLua();if(luaL_loadfile(L,file)||lua_pcall(L,0,0,0)){lua_pop(L,1);lua_close(L);return NULL;}return L;
}int main(int argc,char **argv)
{loadScript(argv[1]);
}

编译需要链接lua库,之后运行程序的时候,指定一个lua脚本就可以了,以下是示例

--main.lua
--向左走10步
go_left(10)
--向下走100步
go_down(100)
--向耐听走15步
go_right(15)

http://www.lryc.cn/news/191319.html

相关文章:

  • 什么是系统架构师?什么是系统架构?
  • 大数据NoSQL数据库HBase集群部署
  • 百乐钢笔维修(官方售后,全流程)
  • Redis 介绍安装
  • MyCat管理及监控
  • 滑动窗口算法题
  • 部署zabbix代理服务器、部署zabbix高可用集群
  • [stm32]外中断控制灯光
  • huggingface下大模型最好的方案
  • Maven 密码加密
  • Socks5代理和代理IP:网络工程师的多面利器
  • 模拟信号隔离器在水处理控制系统中的应用方案
  • XML是不是主要用做配置文件?
  • 在 Elasticsearch 中实现自动完成功能 3:completion suggester
  • 走进Flink
  • Kubernetes核心组件Services
  • Win10 系统中用户环境变量和系统环境变量是什么作用和区别?
  • rust模式
  • 紫光同创FPGA 多路视频处理:图像缩放+视频拼接显示,OV7725采集,提供PDS工程源码和技术支持
  • 软考 系统架构设计师系列知识点之软件质量属性(4)
  • 如何用BI制作图表组合?
  • 使用frida来spawn Fork 的子进程
  • 网工笔记整理:策略工具Filter-policy的使用
  • 数据结构和算法——查找算法
  • Blender:对模型着色
  • 加密市场波动:地缘政治与美股走弱引发不确定性!
  • ElementUI编辑表格单元格与查看模式切换的应用
  • spring-创建Webservice服务
  • Maven系列第3篇:详解maven解决依赖问题
  • 读书笔记:多Transformer的双向编码器表示法(Bert)-4