gpt4 book ai didi

macos - sem_open 在 Mac OS X 10.6.6 HFS+ 上为少于 64 个字符的名称设置 ENAMETOOLONG

转载 作者:行者123 更新时间:2023-12-01 14:24:08 25 4
gpt4 key购买 nike

在我们的大学项目中,进行了以下调用:

sem_t *handle = sem_open("/6770::BitCompressedVector::allocate", 512, 420, 1);

正如标题所说,errno 设置为 ENAMETOOLONG,表示第一个参数(名称)要么超过 PATH_MAX(1024 个字符),要么路径名部分超过 NAME_MAX(255 个字符)。

二进制文件在 62 个字符长的路径中执行。将路径长度减少到 14 个字符没有帮助。使用“/6770::B::a”时,一切正常。但这对我们来说不是解决方案。

我正在使用带有 HFS+ 卷和 Xcode 开发人员工具集 3.2.6 的 Mac OS X 10.6.6。在我的队友 MacBooks(Mac OS X 10.6.x,HFS+)和我们的 Ubuntu 10.10 ext4 系统上,代码运行没有错误。

我的系统出现不同行为的原因是什么?是否有不需要更改代码的解决方法?

最佳答案

sem_open 的 Os X 手册页指出:

[ENAMETOOLONG] name exceeded SEM_NAME_LEN characters.

我没有那个操作系统,但谷歌似乎表明 SEM_NAME_LEN 应该是 31。

关于macos - sem_open 在 Mac OS X 10.6.6 HFS+ 上为少于 64 个字符的名称设置 ENAMETOOLONG,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5288671/

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