将不同ctypes的数组传递给函数

时间:2019-01-16 10:02:36

标签: python arrays parameter-passing ctypes

如何在函数中构建,传递和成功读取不同ctypes的数组?

我是在Python中使用ctypes的新手,而且以前从未使用过指针,因此有点困惑。我正在尝试建立一个包含不同类型的数组 ['m', 3.0, 2.0] 然后将其传递给函数,然后在函数中成功读取数组。

我可以通过以下方式构建数组:

class Array(Structure):
    _fields_ = [('typ', c_char), ('m', c_float), ('s', c_float)]

现在,我不知道如何在函数中正确读取它。我尝试了不同的事情

arr = input_arr
arr = ctypes.POINTER(input_arr)
arr = ctypes.cast(input_arr, ctypes.POINTER(ctypes.c_float*3))
arr = ctypes.cast(input_arr, ctypes.POINTER(ctypes.c_char)+ctypes.POINTER(ctypes.c_float*2))

也许没有构建class Array的另一种方法?

0 个答案:

没有答案