다음을 통해 공유


/Zm (미리 컴파일된 헤더 메모리 할당 제한 지정)

미리 컴파일된 헤더를 생성하기 위해 컴파일러에서 할당하는 메모리의 양을 결정합니다.

구문

/Zmfactor

인수

factor
컴파일러가 미리 컴파일된 헤더를 생성하는 데 사용하는 메모리 양을 결정하는 배율 비율입니다.

factor 인수는 컴파일러 정의 작업 버퍼의 기본 크기의 백분율입니다. 기본값 factor 은 100(백분율)이지만 더 크거나 작은 양을 지정할 수 있습니다.

설명

Visual Studio 2015 이전 버전에서 C++ 컴파일러는 여러 개의 불연속 힙을 사용했으며 각각에는 한정된 제한이 있었습니다. 현재 컴파일러는 필요에 따라 힙을 총 힙 크기 제한까지 동적으로 증가시키고 미리 컴파일된 헤더가 여러 주소 범위를 구성할 수 있도록 합니다. /Zm 이제 컴파일러 옵션은 거의 필요하지 않습니다.

컴파일러 옵션을 사용할 /Zm 때 컴파일러가 힙 공간이 부족하고 C1060 오류 메시지를 내보내는 경우 메모리가 너무 많이 예약되었을 수 있습니다. 옵션을 제거하는 것이 /Zm 좋습니다.

컴파일러에서 C1076 오류 메시지를 내보내는 경우 함께 제공되는 C3859 메시지는 컴파일러 옵션을 사용하여 다시 컴파일할 때 사용할 인수를 /Zm 지정합니다factor. 이 메시지는 미리 컴파일된 헤더에서 .를 사용하는 경우에만 중요합니다 #pragma hdrstop. 다른 경우에는 Windows 가상 메모리 압력 문제로 인한 가짜 오류이며 이 옵션을 사용하는 /Zm 권장 사항은 무시해야 합니다. 대신 CL.EXE 옵션과 /MP 함께 MSBUILD.EXE 옵션을 사용할 /maxcpucount 때 병렬 프로세스 수를 줄이는 것이 좋습니다. 자세한 내용은 PCH(미리 컴파일된 헤더) 문제 및 권장 사항을 참조 하세요.

다음 표에서는 인수가 factor 메모리 할당 제한에 미치는 영향을 보여 줍니다. 표에서는 미리 컴파일된 기본 헤더 버퍼의 크기가 75MB라고 가정합니다.

factor의 값 메모리 할당 제한
10 7.5MB
100 75MB
200 150MB
1000 750MB
2000 1500MB

메모리 할당 제한을 설정하는 다른 방법

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

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

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

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

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

참고 항목

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