You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
is go-lua can only run in 64bit machine?
when i run my lua script on ubuntu 64 bit, it works ok( lua test.lua), and i run my golang code using go run main.go,int works ok too,
but when i just cross compile the same golang code using GOOS=linux GOARCH=arm GOARM=7 go build main.go
error occured,
i hope to use go-lua on my 32bit arm board,
root@b503_lcd:# uname -a
Linux b503_lcd 4.1.15-2.1.0+g37e48c8 #90 SMP PREEMPT Fri Oct 26 11:41:29 CST 2018 armv7l GNU/Linux
root@b503_lcd:# ./main
test go lua...
this is CONNECT,127.0.0.15050
panic: runtime error: test.lua:34: bad argument #2 to '__newindex' (not a number in proper range)
goroutine 1 [running]:
main.main()
/mnt/hgfs/b503/gopath/src/golua/main.go:11 +0xa0
the 34 line is string.format("%012d",34567890121111)
why? is go-lua can only run in 64bit machine?
Here's my test:
package main
import "github.com/Shopify/go-lua"
import "fmt"
var arg1 = 1
var arg2 = 2
func add(x, y int) int {
fmt.Printf("this is go func add\n")
return x + y
}
var luatestGofunc0 = func(l *lua.State) int {
fmt.Printf("this is a go func-0 called by lua script!\n")
top := l.Top()
fmt.Printf("top:%d\n", top)
a0 := l.ToUserData(0)
a1 := l.ToUserData(1)
a2 := l.ToUserData(2)
fmt.Printf("ao,a1,a2=%#v,%#v,%#v\n", a0, a1, a2)
return 2
}
func main() {
fmt.Printf("hello golang,test lua script...\n")
l := lua.NewState()
l.Register("LtestGofunc0", luatestGofunc0)
l.Register("LtestGofunc1", func(l *lua.State) int {
fmt.Printf("this is a go func 1...\n")
return 0
})
lua.OpenLibraries(l)
if err := lua.DoFile(l, "test1.lua"); err != nil {
panic(err)
}
}
bellow is test1.lua:
this is a lua script demo:
ip= "127.0.0.1"
port = 5050
function CONNECT( ip,port )
print("this is CONNECT,"..ip..port)
end
function TxData( tx )
print("this is TxData,"..tx)
end
function DISCONNECT( ... )
print("this is DISCONNECT")
end
ret = CONNECT(ip,port)
MTI = 'B001' --
STI = '52' --
DBL = '0000001C' --
DATA = '' --
is go-lua can only run in 64bit machine?
when i run my lua script on ubuntu 64 bit, it works ok( lua test.lua), and i run my golang code using go run main.go,int works ok too,
but when i just cross compile the same golang code using GOOS=linux GOARCH=arm GOARM=7 go build main.go
error occured,
i hope to use go-lua on my 32bit arm board,
root@b503_lcd:
# uname -a# ./mainLinux b503_lcd 4.1.15-2.1.0+g37e48c8 #90 SMP PREEMPT Fri Oct 26 11:41:29 CST 2018 armv7l GNU/Linux
root@b503_lcd:
test go lua...
this is CONNECT,127.0.0.15050
panic: runtime error: test.lua:34: bad argument #2 to '__newindex' (not a number in proper range)
goroutine 1 [running]:
main.main()
/mnt/hgfs/b503/gopath/src/golua/main.go:11 +0xa0
the 34 line is string.format("%012d",34567890121111)
why? is go-lua can only run in 64bit machine?
Here's my test:
package main
import "github.com/Shopify/go-lua"
import "fmt"
var arg1 = 1
var arg2 = 2
func add(x, y int) int {
fmt.Printf("this is go func add\n")
return x + y
}
var luatestGofunc0 = func(l *lua.State) int {
fmt.Printf("this is a go func-0 called by lua script!\n")
top := l.Top()
fmt.Printf("top:%d\n", top)
a0 := l.ToUserData(0)
a1 := l.ToUserData(1)
a2 := l.ToUserData(2)
fmt.Printf("ao,a1,a2=%#v,%#v,%#v\n", a0, a1, a2)
return 2
}
func main() {
fmt.Printf("hello golang,test lua script...\n")
l := lua.NewState()
l.Register("LtestGofunc0", luatestGofunc0)
l.Register("LtestGofunc1", func(l *lua.State) int {
fmt.Printf("this is a go func 1...\n")
return 0
})
lua.OpenLibraries(l)
if err := lua.DoFile(l, "test1.lua"); err != nil {
panic(err)
}
}
bellow is test1.lua:
this is a lua script demo:
ip= "127.0.0.1"
port = 5050
function CONNECT( ip,port )
print("this is CONNECT,"..ip..port)
end
function TxData( tx )
print("this is TxData,"..tx)
end
function DISCONNECT( ... )
print("this is DISCONNECT")
end
ret = CONNECT(ip,port)
MTI = 'B001' --
STI = '52' --
DBL = '0000001C' --
DATA = '' --
shanghu = string.format("%012d",34567890121111) ----------------------the 34 line
poscode = string.format("%016d",34567890112233)
samcode = '313233343536'
optcode = '3132333435363738'
DATA = shanghu..poscode..samcode..optcode
DBL = string.format("%08x",string.len(DATA)/2)
TX = MTI .. STI .. DBL .. DATA
ret,rcv = TxData(TX)
print(rcv)
MTI = 'B004'
blackver = '00000000'
DATA = blackver .. poscode
DBL = string.format("%02x",string.len(DATA)/2)
TX = MTI .. STI .. DBL .. DATA
ret,rcv = TxData(TX)
print(rcv)
DISCONNECT()
The text was updated successfully, but these errors were encountered: