/Zm
(especificar limite de alocação da memória de cabeçalho pré-compilado)
Determina a quantidade de memória que o compilador atribui para construir cabeçalhos pré-compilados.
Sintaxe
/Zm
factor
Argumentos
factor
Um percentual de fator de escala que determina a quantidade de memória que o compilador usa para construir cabeçalhos pré-compilados.
O argumento factor
é um percentual do tamanho padrão de um buffer de trabalho definido pelo compilador. O valor padrão de factor
é 100 (por cento), mas você pode especificar valores maiores ou menores.
Comentários
Em versões anteriores ao Visual Studio 2015, o compilador do C++ usava vários heaps discretos, e cada um tinha um limite finito. Atualmente, o compilador aumenta dinamicamente os heaps conforme necessário, até um limite total de tamanho de heap, e permite que o cabeçalho pré-compilado inclua vários intervalos de endereços. Agora a opção do compilador /Zm
raramente é necessária.
Se o compilador for executado sem espaço de heap e emitir a mensagem de erro C1060 ao usar a opção do compilador /Zm
, talvez você tenha muita memória reservada. Considere remover a opção /Zm
.
Se o compilador emitir a mensagem de erro C1076, uma mensagem C3859 acompanhante especificará o argumento factor
a ser usado ao recompilar usando a opção do compilador /Zm
. Essa mensagem só é significativa quando um cabeçalho pré-compilado usa #pragma hdrstop
. Em outros casos, é um erro espúrio causado por problemas de pressão de memória virtual do Windows e a recomendação de usar a opção /Zm
deve ser ignorada. Em vez disso, considere reduzir o número de processos paralelos ao usar a opção /maxcpucount
para o MSBUILD.EXE junto com a opção /MP
para o CL.EXE. Para obter mais informações, confira Problemas e recomendações de PCH (cabeçalho pré-compilado).
A tabela a seguir mostra como o argumento factor
afeta o limite de alocação de memória. Na tabela, presumimos que o tamanho do buffer do cabeçalho pré-compilado padrão seja de 75 MB.
Valor de factor |
Limite de alocação de memória |
---|---|
10 | 7.5 MB |
100 | 75 MB |
200 | 150 MB |
1000 | 750 MB |
2000 | 1.500 MB |
Outras maneiras de definir o limite de alocação de memória
Para definir a opção do compilador /Zm
no ambiente de desenvolvimento do Visual Studio
Abra a caixa de diálogo Páginas de Propriedades do projeto. Para obter detalhes, confira Definir as propriedades de build e do compilador do C++ no Visual Studio.
Selecione a página de propriedades Propriedades de Configuração>C/C++>Linha de Comando.
Digite a opção do compilador /Zm na caixa Opções Adicionais.
Para definir a opção do compilador /Zm
programaticamente
- Consulte AdditionalOptions.
Confira também
Opções do compilador MSVC
Sintaxe da linha de comando do compilador MSVC