gpt4 book ai didi

c -/dev/shm 在 Mac OS X 上的位置

转载 作者:太空狗 更新时间:2023-10-29 15:38:09 25 4
gpt4 key购买 nike

我正在 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);
}

上面是程序中的一个小片段。

当我第二次编译和运行程序时,我会得到错误:

在 shm_open() 中:文件存在

我假设是因为我需要使用 rm [path_to]/my_shared_memory 手动删除。我知道在 Linux 上,默认位置是 /dev/shm,但是,这个路径在 Mac OS X 上不存在。

my_shared_memory 的位置在哪里,以便我可以删除它?

最佳答案

解决问题的最简单方法是不使用

O_EXCL

如果您不想要这种行为。

通常,共享内存对象确实有一个名称,但它并不是真正的文件名——您通常无法删除它们。在/dev/shm 下显示它们是很好的 POSIX 风格,但这取决于您的操作系统:

我最好的猜测是你应该阅读 man shm_open 在你的机器上说的内容。

关于c -/dev/shm 在 Mac OS X 上的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31278519/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com