Rod*_*ley 15 filesystems macos path osx-lion
我无法找到这些信息,而且反复试验告诉我价值非常高.所以我想我要求社区看看是否有人知道并且可以指向一个确认Lion长度的苹果页面.我所知道的是雪豹更大.
Joe*_*nte 11
老了,但我找到了答案:
#include <sys/syslimits.h>
Run Code Online (Sandbox Code Playgroud)
然后它将PATH_MAX常量作为#define.就我而言,
char filenameBuffer [PATH_MAX];
Run Code Online (Sandbox Code Playgroud)
您可以将1024硬编码为最大路径,但使用类似的常量会使您的代码可以使用新版本进行扩展
限制取决于使用的文件系统 - 默认情况下OSX使用HFS Plus ...
我可以指出的唯一官方文件是HFS Plus规范,它记录了文件名长度的限制为255.
维基百科暗示HFS Plus的最大路径长度是"无限制".
也许联系Apple Dev支持是获得有关限制的确切陈述的最可靠方法.
从Mac OS X Yosemite上的实际测试来看,最大路径长度为1016个字符.1017失败了.
将此命令复制并粘贴到 MacOSX 的终端应用程序(或 iTerm2、xterm 等)中
\n\n重击$cc -dM -E -xc - <<< \'#include <sys/syslimits.h>\' | grep -i \' [NP]A.._MAX\'
按\xe2\x9f\xa8return\xe2\x9f\xa9或\xe2\x9f\xa8enter\xe2\x9f\xa9键运行它并得到结果:
\n\n#define NAME_MAX 255\n#define PATH_MAX 1024\nRun Code Online (Sandbox Code Playgroud)\n\n这些最大名称和路径长度在系统头文件中定义,sys/syslimits.h该文件cc(C 编译器)从某些默认位置(例如 /usr/include/ 或 Xcode 应用程序中的某个位置)读取。\n这些神秘的开关记录在man ccbut\本质上,这个示例编译了一个单行程序,并将所有“宏”定义打印到一个管道中,grep该管道应该过滤掉除我们想要查看的行之外的所有行。跟随man grep兔子洞了解有关正则表达式模式匹配的详细信息。相似地,
重击$cc -dM -E -xc - <<< \'\'
编译一个空程序并打印该特定系统特有的所有标准“宏”定义,并且编译器 \xe2\x80\x94 绝对值得一看。
\n| 归档时间: |
|
| 查看次数: |
22237 次 |
| 最近记录: |