gpt4 book ai didi

c - shm_open() 函数没有那个文件或目录

转载 作者:太空宇宙 更新时间:2023-11-04 00:07:08 27 4
gpt4 key购买 nike

我正在尝试使用 shm_open() 创建一个新的共享内存文件,但我得到错误号 2(没有这样的文件或目录)。

shm_open ("/DIAG_public", O_CREAT | O_RDWR, S_IWUSR | S_IRUSR | S_IWGRP | S_IRGRP | S_IROTH);

我已经尝试创建自己的独立应用程序以使用相同的名称和选项运行 shm_open,并且这成功...

因此检查/dev/shm 是否具有 drwxrwxrwt 权限,并且运行实际代码的进程是否具有 -rwxrwxrwx 权限。

此外,挂载 | grep shm 返回:

tmpfs on /dev/shm type tmpfs (rw)

我没主意了……对可能出现的问题有什么建议吗?

谢谢。

最佳答案

确保您确实通过了 O_CREAT。只有这样似乎才会出现此错误。

手册页说 ENOENT 仅在两种情况下返回。对于 shm_open 只有第一个似乎是有效的。

man shm_open
ERRORS
On failure, errno is set to indicate the cause of the error. Values which may appear in errno include the following:

...

ENOENT An attempt was made to shm_open() a name that did not exist, and O_CREAT was not specified.

ENOENT An attempt was to made to shm_unlink() a name that does not exist.

关于c - shm_open() 函数没有那个文件或目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18985940/

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