天天看点

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

python很强大,但已有的模块可能满足不了人民日益增长的物质文化需求,于是有时需要编写扩展模块进行完善。

可行的方案有很多:swig、weave、ctypes、boost……

boost无疑是开发最快的一种方案。下面介绍下最简单的c++ helloworld程序如何变为python的一个模块。

1. 安装python、boost

这里用linux环境。python和boost都用源码安装,网址为:

python2.6:https://www.python.org

boost1.57.0:http://sourceforge.net/projects/boost/?source=typ_redirect

2. 编写helloworld.cpp

3. 编译为动态库

命令行中执行:

生成了动态链接库boostpy.so

4. python环境中调用hello

总结:这里只做了个最简单的调用,没有参数传递的问题。后面会继续研究怎样在c++和python之间共享数据。