Я хотел бы создать массив numpy.darray точно в том месте, на которое указывает указатель ctypes.c_void_p.
buffer_ = ctypes.c_void_p()
# magically let the API point it to a special memory location
numpy_buffer_ = numpy.ndarray(shape, dtype=dtype, buffer=buffer_)
Однако я получаю сообщение об ошибке:
TypeError: buffer is too small for requested array
Я получил общую идею решить эту проблему следующим образом из другого потока , где он используется немного по-другому:
numpy.ndarray(shape, dtype=dtype, buffer=c_void_p.from_address(address))
Однако, поскольку у меня уже есть c_void_p, указывающий направильный адрес, я надеялся, что смогу его использовать.
Есть идеи, почему мой буфер выглядит слишком маленьким?(Это также не работает, если я добавлю крошечную фигуру к своему ndarray)
Best,
gbrown