我有一个 C 函数uint8_t *begin();
,它返回一个指向已分配内存的指针。
这是ctypes
对它的绑定:
begin = mylibrary.begin
begin.argtypes = ()
begin.restype = ctypes.POINTER(ctypes.c_uint8)
我需要用整数数组填充内存。有没有更快的方法来代替这个?
buffer = begin()
data = range(10)
for idx, value in enumerate(data):
buffer[idx] = ctypes.c_uint8(value)
在我看来,迭代整个数组是一种非常快速的方法,因为可迭代数据可以包含很多项目、数百万个整数或类似的东西。