Stack Size
VS에서는 아래와 같은 경우 경고를 띄운다.
int main() { using namespace std; int arr[10000]; (void)arr; }
경고 내용
Warning C6262 Function uses '40000' bytes of stack: exceeds /analyze:stacksize '16384'. Consider moving some data to heap.
찾아보니
VS
의 기본 스택 프레임 사이즈가16KB
로 설정되어있었고, 변경 가능하다.스택 사이즈를 제한하는 이유는 쓰레드 개수의 확보를 위해서, 또 스택 오버플로우를 방지하기 위해서라고 한다.
OS에 따라 스택 오버플로우 발생 시 자동으로 스택 사이즈를 늘리는 방식도 있다고 한다.
임베디드 시스템에서는 보통 그런 기능이 없기 때문에 주의해야 한다.
'C++ > Syntax' 카테고리의 다른 글
C++ 인라인 함수 (Inline Function) (0) | 2021.03.12 |
---|---|
C++ 레퍼런스 (Reference, 참조) (0) | 2021.03.12 |
C++ 문자열 (string) (0) | 2021.03.11 |
C++ nullptr_t (0) | 2021.03.11 |
C++ 배열 (Array) (0) | 2021.03.11 |