boost c++调用python接口
时间: 2023-09-20 07:12:18 浏览: 115
利用Boost.Python将C++代码导入到Python模块
4星 · 用户满意度95%
要在 C++ 中调用 Python 接口,可以使用 Boost.Python 库。以下是一个简单的示例:
首先,需要安装 Boost 库和 Python 库。然后,在 C++ 中引入 Boost.Python 头文件:
```
#include <boost/python.hpp>
```
接下来,定义一个 Python 模块并导出函数:
```
namespace py = boost::python;
int add(int x, int y) {
return x + y;
}
BOOST_PYTHON_MODULE(example) {
py::def("add", add);
}
```
在上面的示例中,我们定义了一个名为 `add` 的函数,并使用 `BOOST_PYTHON_MODULE` 宏将其导出为 `example` 模块。
最后,可以在 C++ 中使用以下代码调用 Python 中的函数:
```
py::object example = py::import("example");
py::object add_func = example.attr("add");
int result = py::extract<int>(add_func(1, 2));
```
在上面的示例中,我们首先导入 `example` 模块,然后获取其中的 `add` 函数,并将参数 1 和 2 传递给它。最后,我们将返回值转换为整数类型。
这只是一个简单的示例,实际应用中可能需要更复杂的代码来完成调用 Python 接口的任务。
阅读全文