/homeparams(스택에 레지스터 매개 변수 복사)

레지스터에 전달된 매개 변수가 함수 항목 시 스택의 해당 위치에 기록되도록 합니다.

구문

/homeparams

설명

이 컴파일러 옵션은 x64를 대상으로 하는 네이티브 및 크로스 컴파일러에서만 사용할 수 있습니다.

x64 호출 규칙을 사용하려면 레지스터에 전달된 매개 변수에 대해서도 모든 매개 변수에 대해 스택 공간을 할당해야 합니다. 자세한 내용은 매개 변수 전달을 참조하세요. 기본적으로 레지스터 매개 변수는 릴리스 빌드에서 할당된 스택 공간에 복사되지 않습니다. 이렇게 하면 프로그램의 최적화된 릴리스 빌드를 디버그하기가 어렵습니다.

릴리스 빌드의 경우 /homeparams 옵션을 사용하여 애플리케이션을 디버그할 수 있도록 컴파일러가 레지스터 매개 변수를 스택에 복사하도록 할 수 있습니다. /homeparams 는 레지스터 매개 변수를 스택에 로드하는 데 추가 주기가 필요하기 때문에 성능 저하를 의미합니다.

디버그 빌드에서 스택은 항상 레지스터에 전달된 매개 변수로 채워집니다.

Visual Studio 개발 환경에서 이 컴파일러 옵션을 설정하려면

  1. 프로젝트의 속성 페이지 대화 상자를 엽니다. 자세한 내용은 Visual Studio에서 C++ 컴파일러 및 빌드 속성 설정을 참조하세요.

  2. 구성 속성>C/C++>명령줄 속성 페이지를 선택합니다.

  3. 추가 옵션 상자에 컴파일러 옵션을 입력합니다.

프로그래밍 방식으로 이 컴파일러 옵션을 설정하려면

참고 항목

MSVC 컴파일러 옵션
MSVC 컴파일러 명령줄 구문