Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
如何找到 argv[]、envp[] 和系统输入行的最大大小?我正在使用 sysconf() 函数。sysconf(_SC_ARGMAX) 是否给了我 argv[] 的最大大小?另外两个呢?
从SYSCONF(3)
POSIX.1 变量 ARG_MAX - _SC_ARG_MAX exec(3) 系列函数的参数的最大长度。不得小于 _POSIX_ARG_MAX (4096)。 POSIX.2 变量 LINE_MAX - _SC_LINE_MAX 实用程序输入行长度的最大长度,来自标准输入或来自文件。这包括尾随换行符的长度。 BUGS 使用 ARG_MAX 很困难,因为它没有指定用户的环境变量消耗了多少 exec(3) 的参数空间。
POSIX.1 变量 ARG_MAX - _SC_ARG_MAX exec(3) 系列函数的参数的最大长度。不得小于 _POSIX_ARG_MAX (4096)。
POSIX.2 变量 LINE_MAX - _SC_LINE_MAX 实用程序输入行长度的最大长度,来自标准输入或来自文件。这包括尾随换行符的长度。
BUGS 使用 ARG_MAX 很困难,因为它没有指定用户的环境变量消耗了多少 exec(3) 的参数空间。