/Gs(스택 검사 호출 제어)
스택 프로브를 제어합니다.
/Gs[size]
인수
- size
(선택 사항) 스택 프로브가 활성화되기 전에 로컬 변수가 차지할 수 있는 바이트 수입니다.
설명
이 옵션은 스택 프로브를 제어할 수 있는 고급 기능입니다. 스택 프로브는 컴파일러가 모든 함수 호출에 삽입하는 일련의 코드입니다. 스택 프로브는 활성화될 경우 관련된 함수의 로컬 변수를 저장하는 데 필요한 공간 만큼 메모리를 차지합니다.
함수에 로컬 변수를 저장할 스택 공간이 size 바이트 이상 필요하면 함수의 스택 프로브가 활성화됩니다. size의 기본값은 한 페이지의 크기입니다.
x86의 경우 4KB
x64의 경우 4 KB
Itanium의 경우 4 KB
이 값을 사용하면 응용 프로그램과 Windows 메모리 관리자가 런타임에 프로그램 스택에 커밋되는 메모리의 양을 늘릴 수 있습니다.
참고
size의 기본값을 사용하면 Windows용 응용 프로그램의 프로그램 스택이 런타임에 적절하게 늘어납니다. /Gs의 기본 설정을 변경해야 하는 이유가 확실하지 않을 경우에는 변경하지 마십시오.
가상 장치 드라이버와 같은 일부 프로그램에서는 이러한 기본 스택 증가 메커니즘이 필요하지 않습니다. 이런 경우에는 스택 프로브가 필요하지 않습니다. 모든 함수에서 로컬 변수 저장에 필요로 하는 값보다 큰 값으로 size를 설정하여 컴파일러가 스택 프로브 생성을 중지하도록 할 수 있습니다. /Gs와 size 사이에는 공백을 사용할 수 없습니다.
/Gs0은 /Ge(스택 조사 사용)와 같은 효과를 가집니다.
check_stack을 사용하여 스택 프로브를 활성화하거나 비활성화할 수 있습니다. /Gs와 check_stack pragma는 표준 C 라이브러리 루틴에는 영향을 주지 않습니다. 사용자가 컴파일하는 함수에만 영향을 줍니다.
Visual Studio 개발 환경에서 이 컴파일러 옵션을 설정하려면
프로젝트의 속성 페이지 대화 상자를 엽니다. 자세한 내용은 방법: 프로젝트 속성 페이지 열기를 참조하십시오.
C/C++ 폴더를 클릭합니다.
명령줄 속성 페이지를 클릭합니다.
추가 옵션 상자에 컴파일러 옵션을 입력합니다.
프로그래밍 방식으로 이 컴파일러 옵션을 설정하려면
- AdditionalOptions를 참조하십시오.