使用 AT_EXECFN 提取时可执行文件的文件名大小限制

the limit on the size of the filename of the executable when extracted with AT_EXECFN

我试图了解使用 AT_EXECFN 提取二进制路径名时的长度(最大大小)。我一直在挖掘大量文档,但似乎无法在任何地方找到关于此值的最大可能长度的提及。我觉得我在寻找所有错误的地方。 。感谢任何帮助。

ABI 没有设置限制。特定的实现可能,但它可能在 OS 和内核版本之间有所不同。在大多数情况下,您应该将代码设计为无论它是什么都能正常工作。 (请注意,它是一个以 null 结尾的字符串,因此您无需提前知道长度即可使用它。)

在 Linux 的当前版本中,上限似乎是 MAX_ARG_STRLEN, which is defined as 128KB。但同样,在其他系统或其他版本上,它可能会更高或更低。