/Gs(스택 검사 호출 제어)
업데이트: 2007년 11월
스택 프로브를 제어합니다.
/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를 참조하십시오.