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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2023-01-07 cosmopolitan 跨平台的c 库
2023-01-07 score 开源工作负载指南
2023-01-07 neon serverless postgres 服务
2022-01-07 oceanbase odc web 部署试用
2022-01-07 oceanbase 几个组件说明
2021-01-07 loki 集成报警通知
2021-01-07 grafana agent 集成tempo 试用