我试图从python调用go lang函数,当我调用我的python程序时,我看到了下面的错误。我指的是去比特恩链接。

Python程序
from ctypes import *
def call_go_function():
lib = cdll.LoadLibrary("./awesome.so")
lib.Add.argtypes = [c_longlong, c_longlong]
print( lib.Add(12,99))
call_go_function() Go程序
package main
import "C"
import (
"sync"
)
var count int
var mtx sync.Mutex
//export Add
func Add(a, b int) int { return a + b }
func main() {}发布于 2019-07-19 11:24:41
从Python路径看,这是一个32位Python版本。您不能混合32位和64位的用户空间代码。
所以我想你需要:
发布于 2020-01-01 13:49:11
也许这是个环境。尝试运行一个简单的程序。
from ctypes import *
lib = cdll.LoadLibrary("./func.so")
r=lib.fun(10,20)
print(r)package main
import "C"
//export fun
func fun(x int,y int) int{
return x+y
}
func main(){}>go build -o func.so -buildmode=c-shared func.go
>python test.py
30https://stackoverflow.com/questions/57105879
复制相似问题