[100] [1000] [1000] char 요소 (100MB)가있는 배열을 선언하고 초기화했지만 처음에는 스택 오버플로에 대해 말하지 않았습니다. 잠시 후 스택 오버 플로우 예외가 발생합니다! 나는 프로젝트 옵션 -> 링커 -> 시스템에서 -Stack Reserve Size-를 200,000,000으로 늘렸지만 효과가 없었습니다! 나는 2GB RAM을 사용하여 작업하고 있습니다. 어떻게 오버 플로우를 피할 수 있습니까?C++ 스택 오버플로 - Visual Studio 2008
1
A
답변
8
스택 사용을 중지하십시오! 힙 메모리를 사용하십시오!
1
많은 스택 메모리를 할당해야하는 이유가 있습니까? 이것은 컴파일러의 결함이 아닌 알고리즘의 결함 일 가능성이 높습니다.
0
기본 스택 크기는 링커 옵션이 아니지만 수많은 플랫폼 플랫폼 고유 메커니즘을 통해 제어됩니다.
창에서는 CreateThread를 호출 할 때이를 제어 할 수 있습니다. Unix에서도이 작업을 수행하는 데있어 pthread attr 메커니즘이 있습니다.
스레드되지 않은 코드에서 Unix에는이를 제어하는 ulimit 설정이 있지만 플랫폼 제한에 의해 제한 될 수 있습니다. 예를 들어, 32 비트 프로세스의 AIX에서 스택과 힙은 두 번째 세그먼트에서 함께 증가하므로 두 가지 모두에 최대 256MB가 있습니다.
ulimit과 같이 이것을 제어하는 데 사용할 수있는 플랫폼 메커니즘이있을 수 있지만 힙을 사용하라는 제안은 현명한 판단 일 수 있습니다.
관련 문제
- 1. visual studio 2008
- 2. Visual Studio 2008 및 C#
- 3. Visual Studio 2008 C++ 종속성
- 4. Visual Studio 2008/Visual C++ 2008 Express를 사용하여 C 학습하기
- 5. Visual C/C++에서 스택 오버플로 오류를 수정하는 방법은 무엇입니까?
- 6. C# 스택 오버플로 예외가 발생했습니다.
- 7. 스택 오버플로
- 8. Visual Studio 2008 핫픽스
- 9. visual studio 2008 캐시
- 10. Visual Studio 2008
- 11. visual studio 2008 테마
- 12. Visual Studio 2008 디버깅
- 13. 편집자 visual studio 2008
- 14. Visual Studio 2008 설명서
- 15. Visual Studio 2008 SFTP?
- 16. Visual Studio 2008 - Minimap
- 17. Visual Studio 2008 ProjectTemplates
- 18. Visual Studio 2008 인스턴스화
- 19. visual studio 2008 설치
- 20. 스택 오버플로/메모리 부족
- 21. Visual Studio C++ 2008 연결 질문
- 22. 이상한 컴파일 (?) 문제. Visual studio C++ 2008
- 23. Visual Studio 2008 C++ 언어 지원?
- 24. Visual Studio Standard C++ 2008 자동 완성
- 25. Wierdness 디버깅 Visual Studio C++ 2008
- 26. Visual Studio 2008 C++ 스마트 장치 플랫폼
- 27. Visual Studio 2008 C++ Project에 라이브러리 추가
- 28. 메모장의 Visual Studio 스택 추적 ++
- 29. visual studio 2008 빌드 최적화
- 30. Visual Studio 2008 Deprecated 메서드
동의. 스택에 100MB는 매우 터무니 없습니다. 그리고 나는 페이지 이상을 사용하는 것이 좋지 않다고 생각했다 ... – asveikau
힙을 사용하는 대신 "Free Store"를 사용하라. –