Boost.python和C++交互demo
时间: 2024-02-24 12:53:34 浏览: 151
c++生成DLL,分别用c++和python调用demo
5星 · 资源好评率100%
以下是一个使用Boost.Python和C++交互的简单示例:
首先,我们需要安装Boost.Python库。可以使用以下命令安装:
```
sudo apt-get install libboost-all-dev
```
接下来,我们编写一个简单的C++类,实现两个整数相加的功能。代码如下:
```
// add.h
class Add {
public:
int add(int a, int b);
};
```
```
// add.cpp
#include "add.h"
int Add::add(int a, int b) {
return a + b;
}
```
然后,我们使用Boost.Python将这个类转换为Python模块。代码如下:
```
// add_boost_python.cpp
#include <boost/python.hpp>
#include "add.h"
BOOST_PYTHON_MODULE(add_boost_python) {
boost::python::class_<Add>("Add")
.def("add", &Add::add)
;
}
```
最后,我们可以使用Python脚本来测试这个模块。代码如下:
```
# test.py
import add_boost_python
a = add_boost_python.Add()
print(a.add(1, 2))
```
运行Python脚本,输出结果为:
```
3
```
这个示例展示了如何使用Boost.Python将C++类转换为Python模块,并在Python中使用它。
阅读全文