python 调用 静态库_golang做成一个so静态库,供python调用, 我想实现golang这边网络收到数据后回调python的函数,但是总是提示不成功,相同的在c++可以成功. 高手帮我...

python部分如下:

```

def OnReceive(sockid, str_from_golang):

print str_from_golang

CCReceiveFUNC = CFUNCTYPE(None, c_int32, c_char_p)

gReceiveFunc = CCReceiveFUNC(OnReceive)

mydll = cdll.LoadLibrary

lib = mydll("./basego.so")

print gReceiveFunc

lib.setCallbackFunc(gReceiveFunc) 用go的setCallbackFunc()来设置python的函数,作为回调函数

go部分:

var gReceive func(int32,*C.char)

//export setCallbackFunc

func setCallbackFunc(pReceive func(int32,*C.char)){

gReceive = pReceive;

fmt.Printf("func addr:%x,%x,%x\n", &pReceive);

}

(gReceive)(1,C.CString(" receive some string, call python "))

运行到上面这句报错:unexpected fault address 0x0

fatal error: fault

[signal SIGSEGV: segmentation violation code=0x80 addr=0x0 pc=0x7f90b0419acc]

```

有疑问加站长微信联系(非本文作者)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值