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