mmap需要shm_open吗?

3

我有一个需要进行文件IO的情况,但我被限制在沙盒中。因此,我使用shm_open和mmap来返回一个文件描述符,我可以在内存中愉快地读/写。

我的问题是,我正在移植到的平台没有shm_open。mmap是否需要arg 5是“文件描述符”?或者还有其他方法可以在没有shm_open的情况下使用mmap吗?

谢谢!


3
你写入的数据需要持久化,也就是说它应该被写入到磁盘吗?映射内存是否需要在进程间共享? - Some programmer dude
不需要持久数据。 数据从闪存传递到C进程,然后进行编码。完成后,数据会被传回闪存。无需写入磁盘。 - austintino
是的,我确实需要读/写权限。沙盒化意味着我不能对磁盘进行任何读/写操作。 - austintino
1个回答

1

您可以使用MAP_ANONYMOUS标志来映射一块内存。这基本上与调用malloc相同,您写入的任何数据都不会保存,因为它们都在内存中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接