【发布时间】:2012-05-24 03:41:27
【问题描述】:
我有一个 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)
在我看来,迭代整个数组是一种非常快速的方法,因为可迭代数据可以包含很多项目、数百万个整数或类似的东西。
【问题讨论】: