Numpy CAPI PyArray\u新的Visual Studio警告C4055

2024-04-26 21:33:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用PyArray\u SimpleNew()将计算C程序转换为Python,以在C中创建numpy数组。但是,我收到警告

C4055:: from data pointer 'void *' to function pointer 'PyObject *(__cdecl *)

以下是相关代码的摘录:

PyObject* myArray=NULL;
npy_int nd=1;
npy_int dims[1]={10};
myArray=PyArray_SimpleNew(nd,dims,NPY_UINT64)

警告发生在最后一行。在google搜索了一些之后,它认为这是由于Numpy库中的一个不正确的实现违反了C标准。你知道吗

所以我的问题是

有人能解释一下这里发生了什么事吗?尤其是“空虚”从何而来? 2.这个警告在这个用例中真的很重要吗?压制它安全吗?你知道吗

一些参考:

http://docs.scipy.org/doc/numpy/reference/c-api.array.htmlPointer-type mismatch with PyArray_SimpleNew


Tags: fromnumpy警告data数组intpyobjectnd
1条回答
网友
1楼 · 发布于 2024-04-26 21:33:46

好的,在深入研究PyArray\u SimpleNew()的Python源代码之后,Python似乎使用了一个嵌套的宏,在后台有一些函数回调。因此,编译器看到的是指向函数的指针,而不是PyObject*类型的正确返回值。这是一种非标准用法,您只能手动取消警告

相关问题 更多 >