/Zm
(Укажите ограничение выделения памяти предкомпилированного заголовка)
Этот параметр задает объем памяти, который выделяется компилятором для конструирования предкомпилированных заголовков.
Синтаксис
/Zm
factor
Аргументы
factor
Процент масштабирования, определяющий объем памяти, используемый компилятором для создания предварительно скомпилированных заголовков.
Аргумент factor
— это процент размера по умолчанию определенного компилятором рабочего буфера. Значение factor
по умолчанию равно 100 (процент), но можно указать большие или меньшие суммы.
Замечания
В версиях до Visual Studio 2015 компилятор C++ использовал несколько дискретных куч, и каждый из них имел конечное ограничение. В настоящее время компилятор динамически увеличивает кучу до общего ограничения размера кучи и позволяет предварительно скомпилированному заголовку содержать несколько диапазонов адресов. Теперь параметр компилятора /Zm
редко требуется.
Если компилятор не хватает кучи и выдает сообщение об ошибке C1060 при использовании /Zm
параметра компилятора, возможно, было зарезервировано слишком много памяти. Рассмотрите /Zm
возможность удаления параметра.
Если компилятор выдает сообщение об ошибке C1076 , соответствующее сообщение C3859 указывает factor
аргумент, используемый при повторной компиляции с помощью параметра компилятора /Zm
. Это сообщение важно только при использовании #pragma hdrstop
предварительно скомпилированного заголовка. В других случаях это спрогнозная ошибка, вызванная проблемами с давлением виртуальной памяти Windows, и рекомендация по использованию /Zm
этого параметра должна игнорироваться. Вместо этого рекомендуется уменьшить количество параллельных процессов при использовании /maxcpucount
параметра MSBUILD.EXE вместе с параметром /MP
CL.EXE. Дополнительные сведения см. в разделе о проблемах и рекомендациях с предварительной компиляцией заголовков (PCH).
В следующей таблице показано, как factor
аргумент влияет на ограничение выделения памяти. В таблице предполагается, что размер предварительно скомпилированного буфера заголовка по умолчанию составляет 75 МБ.
Значение параметра factor |
Предел выделения памяти |
---|---|
10 | 7.5 МБ |
100 | 75 МБ |
200 | 150 МБ |
1000 | 750 МБ |
2000 | 1500 МБ |
Другие способы установки ограничения выделения памяти
Установка параметра компилятора /Zm
в среде разработки Visual Studio
Откройте диалоговое окно Страницы свойств проекта. Подробнее см. в статье Настройка компилятора C++ и свойства сборки в Visual Studio.
Перейдите на страницу свойств Свойства конфигурации>C/C++>Командная строка.
Введите параметр компилятора /Zm в поле "Дополнительные параметры".
Установка параметра компилятора программным способом /Zm
- См. раздел AdditionalOptions.
См. также
Параметры компилятора MSVC
Синтаксис командной строки компилятора MSVC