python c++ 混合编程_Python3 如何使用C/C++混合编程?

python/C++混编我一直关注,自己也有这样的需求,相关的解决方案我试过好几种,直接使用python C API是最麻烦最难用的一种,除此以外,至少还有4种方法,都更好用更简单。

1、跨语言的一个通用解决方案是swig,有详细的文档,是最容易想到的方法。我上一次用swig是十多年以前了,当时遇到的问题是long long类型要转化成字符串来传递,但是我们那个项目里面有大量的long long,所以感觉swig不好用。

2、pyqt有一个解决方案叫sip,它是专门为了把qt包装给python而制作的。这个我没有用过。

3、boost::python,在C++11之前几乎是最好的解决方案了,虽然依赖boost,但是用静态库来编译的话也是可以去除依赖的。

4、pybind11,基于C++11的既简单又强大的程序库,库本身的结构简单,上手也很简单,有了它,之前的方法都可以不用了。几分钟就可以用起来,依赖性也是最小的,没有更简单的了。我的文章里面有一篇介绍的,有兴趣可以参考。

你可能感兴趣的:(python,c++,混合编程)