python中调用c++(Boost-python)
2009-12-21 16:38
381 查看
使用Boost,在python中调用c++程序
简介
boost-python提供了方便的使用python调用c/c++程序的接口,我们来看一看怎么样使用这个吧。注意:所有程序,在ubuntu9.04上实验通过,这篇文章没有介绍怎样安装boost,我是使用apt自动安装的。
python调用c++的步骤:
为c++的程序扩展接口
假设我们已经有写好的c++程序,那么,我们不需要改动原来的c++程序,只需要添加一个接口文件,把我们需要的接口调用boost-python来封装以下吧原来的c++程序
test.cpp:
我们编写的接口文件
b.cpp:
编译:
我们使用的指令是:b.cpp 目标编译的文件 -o:需要编译成的库文件名称,注意最好和BOOST_PYTHON_MODULE后面的名称一致,否则不知到什么原因,加载不进来 -I:调用python的头文件,这个如果不知道,到/usr/include/下看一看,需要和你的运行的python版本一致,不知道那个 版本的话,命令行下:python -V查看 -l:需要链接的boost库,如果你不知到那个是,请在命令行下输入:gcc -v 查看gcc版本,然后到/lib/下输入:ls libboost_python* 查找有没有相同版本的库调用
把编译好的so,放到系统的lib路径,或者和python程序(或者调用python是shell的当前目录)同一位置,反正能让python找到你的库 调用以下 [code]Python 2.6.2 (release26-maint, Apr 19 2009, 01:56:41) [GCC 4.3.3] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> import hello_bye >>> hello_bye.hello() 'hello, world' >>> print hello_bye.hello() hello, world >>> hello_bye.bye() bye >>>
然后
然后就没有什么了,boost-python其实还提供了很多其他的东西,比如说怎么导出类,怎么类的方法,以及类的方法的访问权限,构造函数怎么导出,等等,但是我们已经入门了,剩下的东西,不就是查文档就行了吗,和查字典一样,没什么技术了。相关文章推荐
- Python调用采用Boost Python封装的c++
- python调用C和C++代码(BOOST)
- 使用boost实现c++与python的相互调用
- Boost.Python实现C++与Python互调用
- Boost.Python C++与Python的互相调用之Python调用c/c++函数
- 使用boost实现python调用c++
- python嵌入C++------ boost.python如何在C++中调用含有不定长参数tuple变量和关键字参数dict变量的函数
- [转]vs2010用 boost.python 编译c++类库 供python调用
- 用boost封装C++的库供Python调用
- c++调用Python [boost::python]
- Boost.Python实现C++与Python互调用
- 如何在C++代码中调用python代码(MinGW+Boost.Python)
- boost.python,在python中调用c++接口注意的问题(python2.5.4)
- Python调用C/C++的接口(Boost)
- Python调用采用Boost Python封装的c++(2)
- Python调用采用Boost Python封装的c++(2)
- 如何在C++代码中调用python代码(MinGW+Boost.Python)
- vs2010用 boost.python 编译c++类库 供python调用
- python 使用Boost.python 调用c++
- 使用boost.python在python调用C++接口(windows)