c++调用python接口,传入参数
时间: 2024-09-25 15:04:24 浏览: 37
C++调用Python脚本
在C++中调用Python接口通常需要借助于一些库,如Boost.Python、Pybind11或者是第三方的C++绑定工具如SWIG。这些工具允许你在C++中封装Python函数,并提供给Python语言调用。
例如,如果你使用Pybind11,首先你需要在C++代码中声明Python函数:
```cpp
#include <pybind11/pybind11.h>
namespace py = pybind11;
void say_hello(const std::string& name) {
py::gil_scoped_acquire acquire; // 锁住全局解释器锁
py::print("Hello, " + name);
}
PYBIND11_MODULE(example, m) { // 创建模块
m.def("hello", &say_hello); // 绑定函数到module上
}
```
然后,在Python端你可以像这样调用这个函数:
```python
import example
example.hello('World') # 输出 "Hello, World"
```
当你传递参数给`say_hello`时,实际上是将C++的参数转换为Python的对象。如果参数类型可以匹配,转换通常是透明的。
阅读全文