특정 컴파일러/os 콤보에 대한 최대 스택 크기를 찾는 방법에 대해 궁금합니다. 우분투/GNU 컴파일러를 사용하고 있습니다. 내가 가지고있는 몇 가지 질문은 다음과 같습니다.리눅스에서 C++ 프로그램의 메모리 스택 최대 크기를 어떻게 알 수 있습니까? (GNU 컴파일러)
- 누가 기본 최대 스택 크기를 제어합니까? OS 또는 컴파일러?
- 총 메모리에 따라 기본 최대 값이 조정됩니까? (즉, 2GB 메모리를 가진 머신은 512MB를 가진 머신보다 더 큰 기본 사이즈를 가질 것입니다.)이 예제에서 두 머신은 동일한 OS/컴파일러 설정이며, 시스템 RAM의 양이 다릅니다.
고마워요!
내가 너를 업 그레 이드 할 수 있다면. 이것은 대단히 도움이되었습니다, 설명해 주셔서 감사합니다. – RyanY
upvoting에 대해 걱정하지 마십시오. 도와 줄 수있어서 기뻐. 추가 질문이 있으면 알려주십시오. – dirkgently
--stack =에 대한 대답의 일부가 완전히 잘못되었습니다. 여기에 'info ld'가 말한 내용이 있습니다 :이 옵션은 링커의 i386 PE 대상 포트에만 적용됩니다. UNIX 시스템에서 컴파일러는 일반적으로 스택 제한과 관련하여 * 아무것도 * 없습니다. –