它确实在Linux (内核4.3.4)上工作,但在Mac上不起作用。Mac如何处理共享内存和linux如何处理共享内存有什么不同,这可以解释这一点吗?我通过以下方式获得共享的记忆: S_IROTH | S_IWOTH // others以下是基本结构:// this is to check whether the queue is in
我试图写入并读取使用shm_open打开的文件描述符。它可以像我预期的那样在Linux上工作,但不能在macOS上工作(特别是macOS蒙特雷12.5 21G72)。fcntl.h>#include <string.h>
int fd = shm_open("/example", O_CREAT|O_RDWR, S
在使用shm_open()访问共享内存和mmap()写入内存映射文件时,我遇到了这个问题。但是,在对包装器方法进行了几次调用之后,当我调用ERRNO 24时,会遇到shm_open() (打开的文件太多)。我尝试使用shm_unlink(),但这关闭了与共享内存空间相关联的名称,并且无法再次使用关联的名称访问该内存。如何关闭文件描述符并保持与共享内存关联的名称?我希望包装器函数能够这样做:
public static void Write(string name, int size, int offset