/STACK
(스택 할당)
/STACK:
reserve
[,
commit
]
설명
/STACK
링커 옵션은 스택의 크기를 바이트 단위로 설정합니다. 파일을 빌드할 .exe
때만 이 옵션을 사용합니다. /STACK
파일에 적용 .dll
하면 옵션이 무시됩니다.
이 값은 reserve
가상 메모리의 총 스택 할당을 지정합니다. ARM64, x86 및 x64 컴퓨터의 경우 기본 스택 크기는 1MB입니다.
이 값은 commit
운영 체제에서 해석할 수 있습니다. WindowsRT에서는 한 번에 할당할 실제 메모리의 양을 지정합니다. 커밋된 가상 메모리로 인해 페이징 파일에 공간이 예약됩니다. 애플리케이션에 더 많은 스택 공간이 필요할 때 commit
값이 크면 시간을 줄일 수 있지만 메모리 요구 사항이 늘어나고 시작 시간이 오래 걸릴 수 있습니다. ARM64, x86 및 x64 컴퓨터의 경우 기본값 commit
은 4KB입니다.
reserve
10진수 또는 C-언어 16진수 표기법으로 값 및 commit
값을 지정합니다(접두사 사용0x
).
스택의 크기를 설정하는 또 다른 방법은 모듈 정의(.def
) 파일의 STACKSIZE
문을 사용하는 것입니다. STACKSIZE
둘 다 지정된 경우 스택 할당(/STACK
) 옵션을 재정의합니다. 도구를 사용하여 EDITBIN
파일을 빌드한 .exe
후 스택 크기를 변경할 수 있습니다.
Visual Studio 개발 환경에서 이 링커 옵션을 설정하려면
프로젝트의 속성 페이지 대화 상자를 엽니다. 자세한 내용은 Visual Studio에서 C++ 컴파일러 및 빌드 속성 설정을 참조하세요.
구성 속성>링커>시스템 속성 페이지를 선택합니다.
다음 속성 중 하나를 수정합니다.
스택 커밋 크기
스택 예약 크기
프로그래밍 방식으로 이 링커 옵션을 설정하려면
- StackCommitSize 및 StackReserveSize 속성을 참조하십시오.