【发布时间】:2021-06-02 19:37:53
【问题描述】:
当使用 AT_EXECFN 提取二进制路径名时,我试图了解它的长度(最大大小)。我一直在挖掘大量文档,但似乎在任何地方都找不到关于该值的最大可能长度的任何提及。我觉得我在寻找所有错误的地方。 Here is how one extracts it through AT_EXECFN。任何帮助表示赞赏。
【问题讨论】:
当使用 AT_EXECFN 提取二进制路径名时,我试图了解它的长度(最大大小)。我一直在挖掘大量文档,但似乎在任何地方都找不到关于该值的最大可能长度的任何提及。我觉得我在寻找所有错误的地方。 Here is how one extracts it through AT_EXECFN。任何帮助表示赞赏。
【问题讨论】:
ABI 没有设置限制。特定的实现可能会,但它可能会因操作系统和内核版本而异。在大多数情况下,您应该将代码设计为无论它是什么都能正常工作。 (请注意,它是一个以 null 结尾的字符串,因此您无需提前知道长度即可使用它。)
在当前版本的 Linux 中,上限似乎是MAX_ARG_STRLEN,即is defined as 128KB。但同样,在其他系统或其他版本上,它可能会更高或更低。
【讨论】: