Python 使用不推荐使用的NumPy API有什么问题吗?
我想把Nuffy数组传递给C++,但是有一个不推荐的NoMPAPI,我不知道在哪里可以找到替代品。 它显示了一个警告消息,当我构建我的C++代码来制作库时, numpy\npy_1_7_已弃用_api.h(14):警告消息:使用弃用的numpy api,请使用“定义npy_否_已弃用_api npy_1_7_api_版本”将其禁用 使用不推荐使用的API有什么问题吗?如果我使用它,它只运行一次,然后退出我的程序,没有任何进一步的错误/警告消息(在导入c库的python代码中,这个cfunc应该在循环中运行多次)。当然,如果我禁用了不推荐的API,它只会告诉我它找不到那个API 下面是我的代码的一部分,用于接收numpy数组并将其转换为双数组以在c中处理++Python 使用不推荐使用的NumPy API有什么问题吗?,python,c++,numpy,numpy-ndarray,Python,C++,Numpy,Numpy Ndarray,我想把Nuffy数组传递给C++,但是有一个不推荐的NoMPAPI,我不知道在哪里可以找到替代品。 它显示了一个警告消息,当我构建我的C++代码来制作库时, numpy\npy_1_7_已弃用_api.h(14):警告消息:使用弃用的numpy api,请使用“定义npy_否_已弃用_api npy_1_7_api_版本”将其禁用 使用不推荐使用的API有什么问题吗?如果我使用它,它只运行一次,然后退出我的程序,没有任何进一步的错误/警告消息(在导入c库的python代码中,这个cfunc应该在
#include <Python.h>
#include "numpy\ndarraytypes.h"
#include "numpy\ndarrayobject.h"
#include "numpy\arrayobject.h"
static PyObject* cfunc(PyObject* self, PyObject* args)
{
PyArrayObject* numpyarray;
double* carray;
if (!PyArg_ParseTuple(args, "O", &numpyarray))
{
return NULL;
}
carray = (double*)numpyarray->data; // When I build this code, it says 'data' is not a member of 'tagPyArrayObject'
#包括
#包括“numpy\ndarraytypes.h”
#包括“numpy\ndarrayobject.h”
#包括“numpy\arrayobject.h”
静态PyObject*cfunc(PyObject*self,PyObject*args)
{
PyArrayObject*numpyarray;
双*卡雷;
if(!PyArg_parsetup(args,“O”&numpyarray))
{
返回NULL;
}
carray=(double*)numpyarray->data;//当我构建这段代码时,它说'data'不是'tagPyArrayObject'的成员
如果你有任何想法,请告诉我
非常感谢你
致以最良好的祝愿,
JESuh来自:
不推荐直接访问结构字段。请改用PyArray.*(arr)
表单
对于数据
,也就是说。请注意,不能保证NumPy数组是连续的(或一维的),并且您没有进行任何安全检查。单纯地索引数组的缓冲区是不安全的
至于使用不推荐使用的API的问题,不推荐使用的API可能会在将来的NumPy版本中删除。非常感谢!PyArray_数据(PyArrayObject*arr)运行良好:)