将c++数组传递给python

Passing C++ array to python

本文关键字:python c++ 数组      更新时间:2023-10-16

我想将python嵌入到我的c++代码中。在c++中,我正在构建一个矩阵和向量,并希望使用Python的Numpy来解决线性系统。为了建立这一点:我遵循这个例子:http://realgonegeek.blogspot.com/2013/08/how-to-pass-c-array-to-python-solution.html

但是这一行:import_array ();
不与我的代码工作。我得到以下错误:

1678:144:错误:函数中没有返回值的语句返回'int' [-fpermissive] #define import_array(){如果(_import_array () & lt;0) {PyErr_Print ();numpy.core PyErr_SetString (PyExc_ImportError。"Multiarray失败进口");返回NUMPY_IMPORT_ARRAY_RETVAL;}}

有没有人成功地将python代码嵌入到他们的c++代码中?或者知道为什么这条线不起作用。我使用python 3.4

对此有一个建议:如果您的矩阵、向量或数组是静态的,您可以为c文件设置如下参数:

program.exe -array "[[2,2],[3,3],[4,4]]"

,并在c/c++中使用strtok或substr来分割字符串。

或者如果你的程序动态地使用一个新的矩阵/向量/数组,你可以把它保存到一个临时文件或内存(C/c++),如果以上都不能解决你的问题,你可以最终重新写那部分代码在c++语言