我通常使用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类型"?