golang通過cgo調用lua


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額。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM