使用数组

时间:2018-03-29 10:29:32

标签: python numpy struct ctype

我通常使用numpy数组,因此我在Python

中定义了以下ctypes类型
arr_double = numpy.ctypeslib.ndpointer(dtype=np.double, flags='C_CONTIGUOUS')

然后我在C

中有以下结构
struct mystruct {
    double *array;
    size_t size;
};

我尝试使用ctypes在Python中定义此结构,如下所示

class MyStruct(ctypes.Structure):
    _fields_ = [("array", arr_double), ("size", ctypes.c_size_t)]

然而,这给了我错误

second item in _fields_ tuple (index 2) must be a C type

在ctypes中定义此结构的正确方法是什么?有没有办法使用numpy的ctypes类型?如果没有,我将如何将一个numpy数组转换为" C类型"?

0 个答案:

没有答案