# go_lua_c **Repository Path**: janbar/go_lua_c ## Basic Information - **Project Name**: go_lua_c - **Description**: 使用go编译lua脚本为字节码,通过网络传给c,通过c执行lua脚本。 - **Primary Language**: Go - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 0 - **Created**: 2018-10-27 - **Last Updated**: 2024-03-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 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脚本,达到动态实现各种功能的效果。