Python and c++
python and c++ integration(相互调用)
reference:
-
C++代码可以用SWIG库、Boost.Python库转为PYTHON代码
-
C++如何与PYTHON同时修改同一个内存?
参考QGIS调用PYTHON的代码,初始化时初始化了PYTHON解释器,再执行接口初始化,将一个地址字符串交给Python去初始化。
-
怎样将一个C++对象传递到PYTHON中
方法一:封装
如果你的c++对象是已有的代码,可以用cpython包装成Python对象,这些cpython包装的对象有一个指针是指向你要包装的c++对象的,然后提供访问c++对象的方法。比如你一颗树可以包装成Python对象,树节点也包装成Python对象,只要是复杂一点的c++对象都可以包装成Python对象。如果c++部分的代码还没写,可以用cython直接来写,这样自动扩展成Python模块,这样的模块通常是对性能要求很高的才需要专门用c扩展也可以用Python自带的ctypes模块直接定义c++ 对象,这种对象是可以直接导到Python使用的。
方法二:消息传递(参数传递),如JSON格式的消息