我有一个需要进行文件IO的情况,但我被限制在沙盒中。因此,我使用shm_open和mmap来返回一个文件描述符,我可以在内存中愉快地读/写。
我的问题是,我正在移植到的平台没有shm_open。mmap是否需要arg 5是“文件描述符”?或者还有其他方法可以在没有shm_open的情况下使用mmap吗?
谢谢!
我有一个需要进行文件IO的情况,但我被限制在沙盒中。因此,我使用shm_open和mmap来返回一个文件描述符,我可以在内存中愉快地读/写。
我的问题是,我正在移植到的平台没有shm_open。mmap是否需要arg 5是“文件描述符”?或者还有其他方法可以在没有shm_open的情况下使用mmap吗?
谢谢!
您可以使用MAP_ANONYMOUS
标志来映射一块内存。这基本上与调用malloc
相同,您写入的任何数据都不会保存,因为它们都在内存中。