Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby-on-rails-4/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix _POSIX_PATH_MAX的大小_Unix - Fatal编程技术网

Unix _POSIX_PATH_MAX的大小

Unix _POSIX_PATH_MAX的大小,unix,Unix,是所有unix FLOVOR(linux、solaris)的_POSIX_PATH_MAX大小都相同吗?不,对于内核的同一版本的给定实例,它甚至不一定相同。在大多数内核中,它是一个可配置的参数。它通常需要内核重新编译或重新链接才能更改,但它可以在没有全新内核的情况下更改 在一些(我认为现在的大多数)系统上,宏不会转换为整数文本,而是转换为返回整数的系统调用。因此,如果内核允许在运行时重新配置系统,它将返回参数的当前值 我只想假设它在程序的生命周期内不会改变。如果您假设它可以在任何时候更改,那么您

是所有unix FLOVOR(linux、solaris)的_POSIX_PATH_MAX大小都相同吗?

不,对于内核的同一版本的给定实例,它甚至不一定相同。在大多数内核中,它是一个可配置的参数。它通常需要内核重新编译或重新链接才能更改,但它可以在没有全新内核的情况下更改

在一些(我认为现在的大多数)系统上,宏不会转换为整数文本,而是转换为返回整数的系统调用。因此,如果内核允许在运行时重新配置系统,它将返回参数的当前值

我只想假设它在程序的生命周期内不会改变。如果您假设它可以在任何时候更改,那么您最终会遇到竞态条件,即值在您读取它和使用它之间发生变化。如果您只是明确声明您的程序假定它在程序的生命周期内不会更改,那么运行它的系统管理员将不得不采用他们无论如何都应该采用的做法,并且只在启动时更改内核参数

这里有三个您感兴趣的POSIX指定调用:


我还建议寻找其他来源,以便更好地了解哪些变量得到广泛支持,哪些变量没有得到广泛支持。

而且在64位上会有所不同*nix是吗?@tommieb75:在32位和64位系统之间,特定的系统参数变化不大。@Omnifarious:好的……64位文件系统在64位系统上会怎么样*尼克斯?只是一个想法……应该把它加入你的答案中——你怎么想?@tommieb75:对于64位文件系统,路径长度不会改变。一般来说,与文件系统相关的64位系统可能会改变的是最大索引节点号、最大进程ID和其他类似参数。但最大路径长度不会改变。它的实现与体系结构中的位数没有多大关系。