C에는 Python처럼 재귀 깊이 제한이 있습니까?
해석된 특성으로 인해 최대 재귀 깊이가 있는 Python과 달리 C는 컴파일되며 그렇지 않습니다. 그러한 제한에 직접 직면하십시오. 그러나 C에는 할당된 스택 크기를 통해 운영 체제에서 부과하는 자체 재귀 제한이 있습니다.
C의 스택 크기는 일반적으로 사용 가능한 RAM보다 훨씬 작으며 OS 내에서 수정할 수 있습니다(예: Unix 시스템에서는 ulimit). macOS에서 기본 스택 제한은 8MB입니다.
최대 재귀 깊이를 계산하려면 재귀 함수의 활성화 레코드 크기를 결정해야 합니다. 스택 포인터 조정을 결정하기 위해 디버거의 디스어셈블러를 사용하여 이 작업을 수행할 수 있습니다. 이는 함수 호출에서 포인터 간의 차이를 계산하는 것과 같은 다른 방법에 비해 더 정확한 추정을 제공합니다.
부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.
Copyright© 2022 湘ICP备2022001581号-3