标签: c++ macos memory mmap
我正在使用与mmap映射的共享内存在3个进程之间传输相当大的块,这完全按照我想要的方式在Win上运行(使用不同的API,很明显),但是我在Mac上遇到了重大问题 - 之后munmap()和shm_unlink()无论我试图避免os在硬盘上写入巨大的块,因此不会立即解除分配。因此它的工作速度非常慢而不是即时解除分配,并且当连续传输几个块时,可能会耗尽32位内存。
是否可以简单地删除使用mmap分配的共享内存?
答案 0 :(得分:1)
您是否尝试使用boost interprocess library分享内存?
它旨在通过在每个平台上使用最适合的实现来避免可移植性问题...