我无法弄清楚如何获取 Python 中标准mmap对象的虚拟地址(来自 mmap 模块)。记录的方法似乎仅以字节数组或字符串的形式访问内存。
但我需要一次精确地访问 mmap'ped 内存 2 或 4 个字节 - 因为我的应用程序中的该内存被映射到硬件寄存器(想想 /dev/mem 或 GPIO 等)。使用ctypes模块可以以这种方式访问内存- 但为此我需要映射的指针- 或虚拟地址。
目前,我通过使用 libc 中的本机 open() 和 mmap() 函数(感谢相同的 ctypes)来克服这个问题,但我宁愿不这样做。
为什么 mmap 模块不提供简单的方法来获取内存地址?希望我错过了一些明显的东西......
-- DD