请写一个C++调用python脚本中函数的程序。
时间: 2024-03-18 07:40:09 浏览: 130
详解C++调用Python脚本中的函数的实例代码
好的,以下是一个简单的C++调用Python脚本中函数的示例程序:
```c++
#include <Python.h>
int main() {
// 初始化Python解释器
Py_Initialize();
// 加载Python模块
PyObject *pModule = PyImport_ImportModule("example");
// 获取Python模块中的函数
PyObject *pFunc = PyObject_GetAttrString(pModule, "add");
// 构造函数参数
PyObject *pArgs = PyTuple_New(2);
PyTuple_SetItem(pArgs, 0, PyLong_FromLong(2));
PyTuple_SetItem(pArgs, 1, PyLong_FromLong(3));
// 调用Python函数
PyObject *pResult = PyObject_CallObject(pFunc, pArgs);
// 解析Python函数的返回值
int result = (int)PyLong_AsLong(pResult);
// 释放Python对象
Py_DECREF(pModule);
Py_DECREF(pFunc);
Py_DECREF(pArgs);
Py_DECREF(pResult);
// 关闭Python解释器
Py_Finalize();
// 输出结果
std::cout << "The result is: " << result << std::endl;
return 0;
}
```
这个示例程序调用了一个名为`add`的Python函数,该函数接受两个整数参数并返回它们的和。在C++中,我们使用Python/C API来加载Python模块、获取Python函数、构造函数参数、调用Python函数并解析返回值。需要注意的是,我们需要在程序开始时初始化Python解释器,在程序结束时关闭Python解释器。
阅读全文