用 Boost Python 库来快速简单的将C++程序库输出到Python,这样Python接口就和C++接口非常相似了.这个库是为了最低限度的影响你的 C++设计而设计的.大多数情况下,你不需要被迫修改你的C++类,以便它们能够和 Boost.Python库一起使用.系统将会简单地将你的C++类和函数''反射''到Python. Boost.Python库包括的主要特征有:
用 Boost Python 库来快速简单的将C++程序库输出到Python,这样Python接口就和C++接口非常相似了.这个库是为了最低限度的影响你的 C++设计而设计的.大多数情况下,你不需要被迫修改你的C++类,以便它们能够和 Boost.Python库一起使用.系统将会简单地将你的C++类和函数''反射''到Python. Boost.Python库包括的主要特征有:
以及其它
支持的平台
Boost.Python库在以下的配置中已经被测试通过:
- 在下面的编译器/库组合中使用Python2.0
- 在下面的编译器/库组合中使用Python 1.5.2
致谢
- David Abrahams 发起并写了大多数的库, 然后继续协调开发.
- Ullrich Koethe独立开发了一个类似的系统. 但当他发现了Boost.Python的时候,他慷慨地贡献了不计其数小时的编码以及在如何改进上的深邃地洞察力. 他负责函数重载的一个早期版本的支持并且写了反射C++继承关系的技术支持部分. 他曾经帮助改进 C++和Python地错误报告, 并且设计了一个非常易于使用的方法来暴露数字操作符, 包括一个使用重载来避免explicit (译者注:此处不译似乎更利于表达)强制类型转换的方法.
- Ralf W. Grosse-Kunstleve 贡献了 pickle 支持 和许多其它地小改进. 他正在寻找一个让多个模块导出的类型互相作用的方法.
- Boost 邮件列表的成员和Python社团提供了无价的早期反馈.特别是Ron Clarke, Mark Evans, Anton Gluck, Chuck Ingold, Prabhu Ramachandran, 和Barry Scott 在Boost.Python的早期开发阶段迈出 了使用Boost.Python的勇敢的一步.
- 如果没有Dragon Systems/Lernout and Hauspie, Inc的慷慨支持, Boost.Python的开发是不会成功的,他们支持Boost.Python 作为一个开放源码的项目.
目录
- 编写Python扩展模块的一个简要的介绍
- Boost.Python和其它Python扩展系统的比较
- 简单的例子
- 导出类
- 可覆盖的虚函数
- 函数重载
- 继承
- 特殊方法和操作符的支持
- 内幕一瞥
- 生成一个扩展模块
- Pickle 支持
- 交叉扩展模块间的依赖
- 封装枚举
- 指针和灵巧指针
- 内部数据结构
文档是目前正在进行中的主要项目;所有的协助将会受到极大的感激!同时,Boost.Python的 每个特征的有用的例子在回归测试文件test/comprehensive.[py/hpp/cpp]
中都应该是明显的.