Compartir a través de


Error irrecuperable C1076

límite del compilador : se ha alcanzado el límite del montón interno; utilice /Zm para especificar un límite más alto

Este error puede producirse por un exceso de símbolos o de instancias de la plantilla. A partir de Visual Studio 2015, este mensaje puede deberse a la presión de memoria virtual de Windows causada por demasiados procesos de compilación paralelos. En este caso, la recomendación de usar la opción /Zm debe omitirse, a menos que se use una directiva #pragma hdrstop.

Para resolver este error:

  1. Si el encabezado precompilado utiliza una directiva #pragma hdrstop, use la opción /Zm para establecer el límite de memoria del compilador en el valor especificado en el mensaje de error C3859. Para obtener más información que incluya cómo establecer este valor en Visual Studio, vea la sección Comentarios en /Zm (Especificar el límite de asignación de memoria de encabezado precompilado).

  2. Considere la posibilidad de reducir el número de procesos paralelos especificados con la opción /maxcpucount para MSBUILD.EXE, junto con la opción /MP para CL.EXE. Para obtener más información, consulte Problemas y recomendaciones de encabezado precompilado (PCH).

  3. Si usa los compiladores hospedados de 32 bits en un sistema operativo de 64 bits, utilice en su lugar los compiladores hospedados de 64 bits. Para obtener más información, consulte Cómo: Habilitar un conjunto de herramientas de Visual C++ de 64 bits en la línea de comandos.

  4. Elimine los archivos de inclusión innecesarios.

  5. Elimine las variables globales que no son necesarias (por ejemplo, asignando memoria dinámicamente, en lugar de declarar una matriz grande).

  6. Elimine las declaraciones que no utilice.

Si el error C1076 se produce inmediatamente después de comenzar la compilación, es probable que se deba a que el valor especificado para /Zm es demasiado alto para el programa. Reduzca el valor de /Zm.