• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

golang通过cgo调用lua

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1.前期准备

1.第三方库:https://github.com/aarzilli/golua
2.下载lua源码:https://www.lua.org/ftp/lua-5.1.4.tar.gz
3.编译lua:
在windows下使用“mingw32-make.exe mingw test”
在Linux下使用“make linux test”
将得到的liblua.a放到github.com\aarzilli\golua\lua\lua下面
4.并且修改golua.go和lua.go,将库路径改好即可
#cgo CFLAGS: -I ./lua
#cgo windows,!llua,!luajit LDFLAGS: -L./lua -llua -lmingwex -lmingw32

2.测试go代码

package main

import (
	"github.com/aarzilli/golua/lua"
)

func main() {
	L := lua.NewState()
	L.OpenLibs()
	defer L.Close()

	L.DoString("print('sdfsasfd')")
}

3.完成的一个学习项目

    锻炼自己对go、lua、c的理解,特意做了一个项目点击跳转。使用go编译lua脚本为字节码,通过网络传给c,通过c执行lua脚本。 本项目包含go - lua - c之间相互调用的方法,值得学习。

4.总结

lua的源码可以编译到很多平台,我这里只测试了windows和Linux两种。更多的用法,可以参考c语言调用lua,因为go调lua也是用的cgo通过c调用lua额。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
cocos2dx中启用lua脚本发布时间:2022-07-22
下一篇:
寻找[nginx] 由Lua 粘合的Nginx生态环境-- agentzh - Chen Jian发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap