2011-08-17 6 views
12

POSIX와 유사한 시스템에서 명령 행 인수에는 최대 길이가 있습니까?** argv 매개 변수의 최대 길이

명확히하기 위해 각 최대 인수 수가 아닌 의 최대 길이 인 명령 줄 인수를 찾고 있습니다.

+0

_POSIX_ARG_MAX을 ?? –

+0

나는 그 플랫폼과 관련이 있다고 생각합니다. 데이터가 많은 경우 stdin을 통해 데이터를 프로그램에 전달할 수 있습니다. –

+0

아니요, _POXIX_ARG_MAX는 모든 인수의 최대 길이입니다. –

답변

7

POSIX는 각 인수의 최대 길이를 정의하지 않습니다.

MAX_ARG_STRLEN은 Linux 전용 상수 which was introduced in the 2.6.25 kernel입니다.

커널 2.6.25부터 MAX_ARG_STRLEN131072 bytes = 32 pages of memory으로 정의됩니다.

(.. 나는 CONFIG_HUGETLB_PAGE 사용하지 않으면 내가 CONFIG_HUGETLB_PAGEMAX_ARG_STRLEN에 미치는 영향을 잘 모르겠어요의 경우 4K의 페이지 크기를 있으리라 믿고있어)

은 참조 : http://manpages.ubuntu.com/manpages/lucid/man2/execve.2.html

+0

GJ 연구 :-) – cnicutar

+0

cnicutar, 죄송합니다. 원래 질문은 불분명하고 응답 해 주셔서 감사합니다. 당신의 대답은 제가 연구를 도왔습니다. –