Я пытаюсь использовать функцию C copyDataContent
, которая копирует данные с плавающей точкой из объекта структуры C, на который я указываю указателем DataHandle
, в местоположение, заданное указателем с плавающей точкой.Я включил прототип функции для этой функции.Я могу получить размеры этих данных через другую функцию в библиотеке.Мой код ниже.
Прототип copyDataContent
void copyDataContent(DataHandle DataSource, float* Destination);
Здесь все идет не так:
data = createData()
size0 = getDataPropertyInt(data,0)
size1 = getDataPropertyInt(data,1)
arrC = C.POINTER(C.c_float*size0*size1)
libc.copyDataContent.argtypes = [DataHandle,C.POINTER(C.c_float)]
libc.copyDataContent(data,arrC)
Вывод на консоль:
ArgumentError: argument 2: <class 'TypeError'>: expected LP_c_float instance instead of _ctypes.PyCPointerType
^ из строки, где я на самом деле вызываю copyDataContent
Но вот что консоль говорит мне о arrC
arrC
Out[88]: __main__.LP_c_float_Array_0_Array_0
Может кто-нибудь пролить свет на то, чтоидет не так?документы ctypes не помогают