Compartilhar via


/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

/Zmfactor

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

  1. 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.

  2. Selecione a página de propriedades Propriedades de Configuração>C/C++>Linha de Comando.

  3. Digite a opção do compilador /Zm na caixa Opções Adicionais.

Para definir a opção do compilador /Zm programaticamente

Confira também

Opções do compilador MSVC
Sintaxe de linha de comando do compilador MSVC