1 Star 2 Fork 0

Janbar/go_lua_c

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
clang
golang
lua-5.3.5
.gitignore
README.md
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
README.md 1.24 KB
一键复制 编辑 原始数据 按行查看 历史
Janbar 提交于 7年前 . 增加go调用lua的示例

go_lua_c

项目介绍

使用go编译lua脚本为字节码,通过网络传给c,通过c执行lua脚本。 本项目包含go - lua - c之间相互调用的方法,值得学习

如何使用

1.windos先安装mingw,并且安装gcc等工具
2.到lua-5.3.5目录,执行mingw32-make.exe mingw test
3.上面就将lua编译成功,且动态库等都可以正常使用
4.到golang路径下执行.\build.bat,这时候就启动服务
5.到clang路径下执行.\build.bat,每次回车都会让服务器编译
golang\send_lua_code.lua的脚本成lua字节码,通过网络发送给c程序
6.本例是在c程序提供一个获取系统时间的接口,lua中写了一个函数返回c里面
获取的时间,然后在recv_lua_code.c中用c执行lua中的get_sec方法打印时间

总结

1.本项目主要用于学习lua和c和go相互调用的技巧
2.同时也完成了一套流程,及很多嵌入式终端代码都是c语言写死成二进制
不利于维护和修改,因此需要终端能执行脚本,这样可以通过写脚本来实现各种功能
因此终端提供lua接口,服务器编写lua脚本并编译成lua字节码下发到终端
然后终端执行lua脚本,达到动态实现各种功能的效果。

Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/janbar/go_lua_c.git
git@gitee.com:janbar/go_lua_c.git
janbar
go_lua_c
go_lua_c
master

搜索帮助