首页 > 解决方案 > 使用 AT_EXECFN 提取可执行文件时的文件名大小限制

问题描述

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

标签: linuxelfcoredump

解决方案


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

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


推荐阅读