在此线程中,建议在Linux中使用OP mmap()而不是shmget()获取共享内存。我访问了这个页面,这个页面来获得一些文件,但第二个方面给出了一个模糊的例子mmap()。
mmap()
shmget()
几乎是新手,并且需要在两个进程之间共享一些信息(以文本形式),我应该使用该shmget()方法还是mmap()?又为什么呢
两种方法都是可行的。mmap该方法比限制性更强shmget,但更易于使用。shmget是旧的System V共享内存模型,并且支持范围最广。mmap/ shm_open是用于共享内存的新POSIX方法,并且更易于使用。如果您的操作系统允许使用POSIX共享内存,那么我建议您这样做。
mmap
shmget
shm_open
一些提示:
fork
MAP_ANONYMOUS | MAP_SHARED
MAP_ANONYMOUS
ftruncate
MAP_SHARED
librt
/dev/shm/