uint8_t *begin();
割り当てられたメモリへのポインタを返すC 関数があります。
ここに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)
反復可能なデータには多くの項目、数百万の整数などを含めることができるため、配列全体を反復することは非常に高速な方法であるとは思えません。