C++ Boost 之Python(大纲)

翻译 2003年07月21日 08:14:00

c++boost.gif (8819 bytes)
Boost Python 库 (Boost.Python)

大纲

用 Boost Python 库来快速简单的将C++程序库输出到Python,这样Python接口就和C++接口非常相似了.这个库是为了最低限度的影响你的 C++设计而设计的.大多数情况下,你不需要被迫修改你的C++类,以便它们能够和 Boost.Python库一起使用.系统将会简单地将你的C++类和函数''反射''到Python. Boost.Python库包括的主要特征有:

以及其它

支持的平台

Boost.Python库在以下的配置中已经被测试通过:

致谢

  • 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 作为一个开放源码的项目.

目录

  1. 编写Python扩展模块的一个简要的介绍
  2. Boost.Python和其它Python扩展系统的比较
  3. 简单的例子
  4. 导出类
  5. 可覆盖的虚函数
  6. 函数重载
  7. 继承
  8. 特殊方法和操作符的支持
  9. 内幕一瞥
  10. 生成一个扩展模块
  11. Pickle 支持
  12. 交叉扩展模块间的依赖
  13. 封装枚举
  14. 指针和灵巧指针
  15. 内部数据结构

文档是目前正在进行中的主要项目;所有的协助将会受到极大的感激!同时,Boost.Python的 每个特征的有用的例子在回归测试文件test/comprehensive.[py/hpp/cpp]中都应该是明显的.

问题请发送至boost 邮件列表.

© David Abrahams 2001 版权所有. 本文档允许复制、使用、修改、出售和分发,前提是这个版权声明必须出现在所有的拷贝上。本文档的提供不承担任何直接或隐含的保证,并且不做其适合任一目的之声明。

更新日期: 2001年3月6日

利用C++ Boost编写扩展Python模块

Python很强大,但已有的模块可能满足不了人民日益增长的物质文化需求,于是有时需要编写扩展模块进行完善。 可行的方案有很多:SWIG、Weave、ctypes、BOOST…… BOOST...
  • normallife
  • normallife
  • 2016年09月16日 17:40
  • 1715

利用Boost.Python实现Python C/C++混合编程

利用Boost.Python实现Python C/C++混合编程
  • xuluhui123
  • xuluhui123
  • 2017年04月28日 10:34
  • 2831

Python调用采用Boost Python封装的c++

上次我写了利用Python提供的API封装c函数,并调用。但是由于利用API的方式过于原始,对于类或者结构极度麻烦。因此,我选择了Boost的Python的来封装类,类似的工具还有SWIG等,选择Bo...
  • mao_kun
  • mao_kun
  • 2016年08月06日 23:11
  • 1530

关于boost.numpy的使用

最近的研究中,想使用python调用c++的编译后的dll。尝试了ctypes,但是发现ctypes对c语言编译的dll兼容性比较好,对c++封装的类就无能为力了。尝试了boost.python,发现...
  • shizhuoduao
  • shizhuoduao
  • 2017年03月28日 22:41
  • 916

利用boost.python封装C++函数供python调用

今天需要在python里调用一个c++函数,因此各种查资料,发现boost.python库的使用还是很简单的。在这总结一下,以供大家参考。 给大家几个链接,在这里提醒大家,很多资料由于时间久远,可能b...
  • Sunshine_in_Moon
  • Sunshine_in_Moon
  • 2016年04月11日 19:33
  • 3672

用boost封装C++的库供Python调用

用boost封装C++的库供Python调用测试环境 OS:Windows10 x64 Python2.7 x64:Anaconda2 4.3.1 Boost 1.63.0 x64 dll工程配置 添...
  • shizhuoduao
  • shizhuoduao
  • 2017年03月26日 18:38
  • 374

一个C++课程学习大纲

昆山轩辕软件技术有限公司  Linux C++软件工程师全科班--课程概况      * 培养目标:Linux/UNIX C++高级软件工程师      专注Linux/UNIX服务器端的软...
  • imxiangzi
  • imxiangzi
  • 2015年11月12日 12:41
  • 1164

Python学习大纲

作为自己学习Python的学习大纲!
  • zhangchilei
  • zhangchilei
  • 2015年05月14日 16:28
  • 1036

Python教程大纲

缘起:最近想在部门推Python语言,写这个blog主要就是个教程大纲,之前先列出一些资源: Python中文社区主站入口:http://woodpecker.org.cn/ 《Python学习手册》...
  • jaopen
  • jaopen
  • 2015年01月24日 15:21
  • 3334

【C/C++】BOOST 线程完全攻略 - 基础篇

C++多线程开发是一个复杂的事情,mfc下提供了CWinThread类,和AfxBeginThread等等函数,但是在使用中会遇到很多麻烦事情,例如线程之间参数传递的问题,我们一般都是把参数new一个...
  • LG1259156776
  • LG1259156776
  • 2016年10月04日 10:15
  • 1732
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C++ Boost 之Python(大纲)
举报原因:
原因补充:

(最多只允许输入30个字)