Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Falha na criação da memória virtual para o PCH
A mensagem tem uma das seguintes notas:
O sistema retornou código código de erro: mensagem de erro do sistema operativo
PCH: O endereço não é um múltiplo da granularidade de alocação do sistema
PCH: O pedaço não foi reservado anteriormente
PCH: Tamanho de confirmação muito grande
PCH: Não é possível alocar memória no mapa de ficheiros
PCH: Lista de chunks esgotada antes de confirmar todos os bytes
PCH: Fim inesperado da lista de blocos ao tentar liberar
PCH: Não deveria acessar um mapa de arquivo no caso de operações de descomprometimento.
PCH: Bloco inválido
PCH: Tamanho do mapa muito grande
PCH: Não é possível mapear o arquivo: memória já comprometida
PCH: Mapa de ficheiros já instalado
PCH: Não é possível obter o bloco de memória solicitado
Considere usar /Fp para permitir que o compilador reserve a memória antecipadamente
Observações
Não há memória virtual suficiente alocada para o cabeçalho pré-compilado (PCH). Se o cabeçalho pré-compilado usar uma diretiva explícita #pragma hdrstop, utilize o sinalizador de compilador /Zm para especificar um valor maior para o arquivo de cabeçalho pré-compilado. Caso contrário, considere reduzir o número de processos de compilação paralelos em sua compilação. Para obter mais informações, consulte /Zm (Especificar limite de alocação de memória de cabeçalho pré-compilado).
Esse diagnóstico aparece principalmente em dois cenários:
O primeiro cenário é que o sistema está sobrecarregado com várias /Yu solicitações de compilação ao mesmo tempo. Definir o tamanho máximo de memória virtual inicial normalmente resolve esse problema.
O segundo cenário é quando o carregador do Windows injeta uma DLL no processo na inicialização. Essa DLL injetada pode alocar memória que entra em conflito com onde a PCH deve residir. Por exemplo, msbuild.exe injeta FileTracker.dll em todos os CL.exe processos na inicialização. Nesse cenário, usar o sinalizador (Nome .pch/Fp file) garante que a memória para o PCH esteja alocada o mais cedo possível no CL.exe processo, antes que quaisquer DLLs injetadas tentem ocupar o espaço de endereço. Essas falhas podem ser intermitentes porque a ASLR (Randomização do Layout do Espaço de Endereçamento do Windows) aloca memória em endereços diferentes em diferentes invocações de processo. Sem /Fp, a memória para a PCH não pode ser alocada até que o compilador encontre o arquivo de cabeçalho #include especificado na opção /Yu de linha de comando ou no #pragma hdrstop. Neste momento, é muito mais provável que a memória exigida pela PCH já esteja reservada.