我想知道ctypes包是否可以与mmap进行接口交互。
目前,我的模块使用create_string_buffer
分配一个缓冲区,然后使用byref
将其传递给库中的mylib.read
函数。这个函数会像名字所示的那样,读取数据到缓冲区中。然后我调用file.write(buf.raw)
将数据写入磁盘。然而,我的基准测试显示这远非最优解(花费在file.write
上的时间最好花费在mylib.read
上)。
因此,我想知道ctypes是否可以与mmap进行互操作。给定一个mmap.mmap
实例和一个偏移量,如何在地址空间中获得指针(c_void_p
)?
mmap.mmap
实例来自该模块。我想知道如何让它的实例与 ctypes 进行接口。 - Freddie Witherden