1

我的代码中有一个 NumPy 布尔数组,我希望向其编写 C 扩展。当我尝试获取一个连续数组以便在我的 C 例程中使用时,我使用:

arr_mask = (PyArrayObject *)
    PyArray_ContiguousFromObject(mask, PyArray_BOOL, 2, 2);

但是我得到了 PyArray_BOOL 没有声明的编译器错误。

xor_masking.c:44:40: error: ‘PyArray_BOOL’ undeclared (first use in this function)

为什么会这样?这种类型是未声明的吗?如果是这样,我如何将我的布尔数组引入C?

谢谢!

4

1 回答 1

1

您需要使用 NPY_BOOL 而不是 PyArray_BOOL。此外,如果您仍在使用数字标题,就像您的其他问题之一一样,您将需要使用 numpy 标题而不是数字标题。

于 2011-10-13T05:16:01.227 回答