我有一个python回调函数,它接受2个参数:一个指向一块内存的指针,以及内存块的长度。
def my_callback( buf, len):
""" buf is of type POINTER(c_ubyte), len is of type c_uint"""
在回调函数中,我想首先将内存块转换为ctypes数组。我知道可以通过创建一个新的ctypes数组并复制内存块中的所有数据来完成它。
def my_callback( buf, len):
""" buf is of type POINTER(c_ubyte), len is of type c_uint"""
temp_array = (c_ubyte * len)(*[buf[n] for n in range(len)])
但通过这种方式需要内存复制。我的问题是,是否有任何方法可以在没有内存复制的情况下将ctypes指针强制转换为数组?
提前感谢您的任何答案或提示。