关于python调用golang的库

由于最近py在机器学习上比较牛x,但golang居然没有相应牛x的机器学习库。本人虽然这两种语言都熟悉,但就是不爽py的一些语法,所以打算使用golang做一部分库,然后py调用。。。网上有很多py调用golang的方法,基本原理都是cgo来弄,如下面:

https://studygolang.com/articles/4796

然而,本人是在osx下的,上面这东西估计只能Linux了。在osx下,py直接报错。结果,折腾了好几天,然后发现据说,cgo在osx下有点bug,编译出来的东西会有问题。所以,如果用osx的同学,请用下面命令来编译py调用的so库:

go build -ldflags=-s -buildmode=c-shared -o xxx.so xxx.go

xxx.so就是编译的静态库,xxx.go就是go的源码了。上面命令关键地方(对于osx来说)就是 -ldflags=-s,必须要加这个,否则不管是编译静态库,还是可执行文件,都必定会崩。。。。 -buildmode=c-shared就是让go编译so了。

以上。。。。。(还有一个py回调go的问题,正在研究中。。。网上虽有教程,但说不明白,还得研究一下。。。。)

猜你喜欢

转载自blog.csdn.net/gtd138/article/details/79791889
今日推荐