Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 在两个进程之间共享内存_C_Linux - Fatal编程技术网

C 在两个进程之间共享内存

C 在两个进程之间共享内存,c,linux,C,Linux,我想在两个进程之间共享内存。我知道的一种方法是mmap共享文件。但是,我不想使用共享文件,我想在内存中使用匿名映射。我该怎么做。共享内存是您想要的: 既然您是在linux上,那么您就可以这样做了:您可以将您的mmap文件放在/dev/shm目录中,该目录作为tmpfs(即基于内存的文件系统)安装在大多数linux系统中 或者您可以在目录树中的其他位置安装自己的tmpfs(如果您需要其他选项)。是您的朋友。您可以使用取消映射共享区域。是一个很好的起点,但您还需要阅读互斥的相关内容,以便内存不会损坏

我想在两个进程之间共享内存。我知道的一种方法是
mmap
共享文件。但是,我不想使用共享文件,我想在内存中使用匿名映射。我该怎么做。

共享内存是您想要的:


既然您是在linux上,那么您就可以这样做了:

您可以将您的mmap文件放在/dev/shm目录中,该目录作为tmpfs(即基于内存的文件系统)安装在大多数linux系统中


或者您可以在目录树中的其他位置安装自己的tmpfs(如果您需要其他选项)。

是您的朋友。您可以使用取消映射共享区域。

是一个很好的起点,但您还需要阅读互斥的相关内容,以便内存不会损坏。

请记住,在NUMA系统上,如果核心位于不同的节点上,它们将以不同的速度访问内存,除非您选择与核心等距的NUMA节点