pybind11 进行native python 模块开发
pybind11 是一个方便快速的基于通过c++快速开发python native 模块的框架,使用简单
支持的特性
- **接受和返回自定义数据结构的函数**,可以按值传递、按引用传递或通过指针传递
- **实例方法和静态方法**
- **重载函数**
- **实例属性和静态属性**
- **任意异常类型**
- **枚举**
- **回调函数**
- **迭代器和范围**
- **自定义操作符**
- **单继承和多继承**
- **STL 数据结构**
- **具有引用计数的智能指针**,如 `std::shared_ptr`
- **内部引用的正确引用计数**
- **C++ 类的虚方法(包括纯虚方法)可以在 Python 中扩展**
- **集成 NumPy 支持**(NumPy 2 需要 pybind11 2.12+)
说明
对于有现成的c++包,需要暴露为python 模块的pybind11是一个不错的选择,对于rust 开发者来说pyo3 是一个很不错的选择,而且不少项目都有使用此框架
参考资料
https://github.com/pybind/pybind11
浙公网安备 33010602011771号