/Zm
(미리 컴파일된 헤더 메모리 할당 제한 지정)
미리 컴파일된 헤더를 생성하기 위해 컴파일러에서 할당하는 메모리의 양을 결정합니다.
구문
/Zm
factor
인수
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
하려면
프로젝트의 속성 페이지 대화 상자를 엽니다. 자세한 내용은 Visual Studio에서 C++ 컴파일러 및 빌드 속성 설정을 참조하세요.
구성 속성>C/C++>명령줄 속성 페이지를 선택합니다.
추가 옵션 상자에 /Zm 컴파일러 옵션을 입력합니다.
프로그래밍 방식으로 컴파일러 옵션을 설정 /Zm
하려면
- AdditionalOptions을(를) 참조하세요.