高端的回答大佬们都讲了,我写一个自己遇到的情况吧:
python调c++,就把c++的模块编译出.so库,然后注意要用extern "C" {}包装下我们调的c++函数.
然后是数据“交流”,把python中的数据传入c++,ctypes很好用,int,list,npy都支持,我给个链接:# Python与C交互之指针_Kelvin_Yan的专栏-CSDN博客
有去有回,我还需要把c++中的"数组"结果回传到python端。ctypes貌似没有提供数组指针什么之类的???... 所以只能使用结构体返回结果。然后在python端,用索引一位位的把结果read出来... 不知道这样子是不是走了弯路,感觉很低效。。。还请看到这的大佬能指点下,怎么把c++里的"数组"/int序列结果,快速的返回给python呢???
-------------------- 20200915 更新 --------------------
pybind11你值得拥有,是真的很好使,至少解决了我以上的需求!
python端可以直接传入list或numpy数据,在c++中的vector/string等计算结果也可以直接返回到python端。我参考了这篇文章:码农自来也:python调用c++利器--pybind11
希望大家使用愉快~.~