python调用C/C++有不少的方法,如boost.python, swig, ctypes, pybind11等,这些方法有繁有简,而pybind11的优点是对C++ 11支持很好,API比较简单。
本文把曾经用过的方法,入门教程在这里分享一下,推荐使用pybind11,入门简单,方便实用,功能强大。
1.动态库 dll/so库 ctypes
先用c++封装成动态库,然后python加载动态库
需要用ctypes等组件。
例子参见博客:
https://blog.csdn.net/jacke121/article/details/78725630
2.c++调用python
c++中也可以调用python模块,需要引用python的头文件和lib文件
头文件:
Python.h
库文件:
-
#pragma comment(lib,"python3.lib")
-
#pragma comment(lib,"python37.lib")
具体例子参见: