0

代码(基于Numpy C-Api 示例给出了 SegFault。他们所关注的教程的链接已失效,我还没有找到好的教程):

#include <Python.h>
#define NPY_NO_DEPRECATED_API NPY_API_VERSION

#include "numpy/arrayobject.h"

int main()
{

   Py_Initialize();
   import_array();

   int typenum;
   PyArrayObject *alpha;
   PyObject *a = NULL;
   int n = 100;
   int nd = 1;
   int dims[nd];
   dims[0] = n;
   a= PyArray_FromDims(nd, dims, NPY_DOUBLE);
   alpha = (PyArrayObject*) a;

   typenum = PyArray_DIMS(alpha)[0];
   printf("%i",typenum);
   PyRun_SimpleString("print 'Hello Python C/API'");
   Py_Finalize();
   return 0;
}
gcc -g main1.cpp -I/.../include/python2.7 -I/.../numpy/numpy/core/include -lpython2.7 -lstdc++; ./a.out

a= PyArray_FromDims(nd, dims, NPY_DOUBLE);.

我在一个已激活的虚拟环境中。“...”给出了我的虚拟环境的路径,其中 numpy 作为子目录存在,并且已使用 pip install -e numpy 安装。

4

0 回答 0