在*inux编程中创建共享内存的函数之一需要一个键作为其参数之一。这个键的含义是什么?我应该如何使用它?
编辑:不是共享内存id。
编辑:不是共享内存id。
ftok()
创建,它将完全指定的文件名和项目ID转换为可用键。POSIX 共享内存函数(shm_open 和其它)拥有更加用户友好的界面,因为它们可以接受一个唯一的文件名,应用程序必须使用该文件名来打开同一共享内存块。
话虽如此,在 Linux 下也通常可以在 /dev/shm 中打开一个文件,然后使用 MAP_SHARED 进行 mmap,从而实现类似的功能。
ftok
创建的(请参见http://netbsd.gw.com/cgi-bin/man-cgi?ftok+3+NetBSD-current),并且从`shmget`中使用。 使用关键字,shmget
可以创建共享段,也可以获取使用关键字标识的现有段,具体取决于您传递的标志(请参见http://netbsd.gw.com/cgi-bin/man-cgi?shmget+2+NetBSD-current)。 - tonio