我正在Mac OS X上进行共享内存任务的工作。
#define SHARED_OBJECT_PATH "/my_shared_memory"
fd = shm_open(SHARED_OBJECT_PATH, O_CREAT | O_EXCL | O_RDWR, S_IRWXU | S_IRWXG);
if (fd < 0) {
perror("In shm_open()");
exit(1);
}
程序中的一个小片段如上所示。
当我第二次编译并运行程序时,会出现以下错误:
In shm_open(): File exists
我猜是因为我需要手动使用 rm [path_to]/my_shared_memory
删除它。我知道在Linux上,默认位置是 /dev/shm
,但在Mac OS X上,该路径不存在。
请问 my_shared_memory
的位置在哪里,以便我可以删除它?