从现有的ctypes创建numpy数组。c_void_p

时间:2018-09-25 09:06:52

标签: python numpy buffer ctypes

我想在ctypes.c_void_p指针指向的位置精确地创建一个numpy.darray。

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

我从another thread那里获得了解决此问题的总体思路,在此方面的用法略有不同:

numpy.ndarray(shape, dtype=dtype, buffer=c_void_p.from_address(address))

但是,由于我已经有一个指向正确地址的c_void_p,我希望可以使用它。

任何想法,为什么我的缓冲区显得太小? (如果我在ndarray上放一个很小的形状,那也行不通)

最好

棕褐色

0 个答案:

没有答案