Compartir a través de


/Zm (Especificar el límite de asignación de memoria del encabezado precompilado)

Determina la cantidad de memoria que el compilador asigna para construir encabezados precompilados.

Sintaxis

/Zmfactor

Argumentos

factor
Porcentaje de factor de escala que determina la cantidad de memoria que el compilador utiliza para construir encabezados precompilados.

El argumento factor es un porcentaje del tamaño predeterminado de un búfer de trabajo definido por el compilador. El valor predeterminado del argumento factor es 100 (en tanto por ciento), pero puede especificar cantidades mayores o menores.

Comentarios

En versiones anteriores de Visual Studio 2015, el compilador de C++ utilizaba varios montones discretos, cada uno con un límite finito. Actualmente, el compilador aumenta dinámicamente los montones según sea necesario hasta un límite total de tamaño del montón y permite que el encabezado precompilado comprenda varios intervalos de direcciones. Por consiguiente, la opción del compilador /Zm casi nunca es necesaria.

Si el compilador se ejecuta fuera del espacio del montón y emite el mensaje de error C1060 al utilizar la opción /Zm del compilador, tal vez se deba a que ha reservado demasiada memoria. Pruebe a quitar la opción /Zm.

Si el compilador emite el mensaje de error C1076, junto a él aparecerá un mensaje C3859 en el que se especifica el argumento factor que se debe usar al recompilar con la opción /Zm del compilador. Este mensaje solo es significativo cuando un encabezado precompilado usa #pragma hdrstop. En otros casos, se trata de un error falso causado por problemas de presión de memoria virtual de Windows y la recomendación de usar la opción /Zm debe omitirse. En su lugar, considere la posibilidad de reducir el número de procesos paralelos al usar 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).

En la tabla siguiente se muestra cómo el argumento factor afecta al límite de asignación de memoria. En la tabla, se supone que el tamaño del búfer de encabezado precompilado predeterminado es de 75 MB.

Valor de factor Límite de asignación de memoria
10 7,5 MB
100 75 MB
200 150 MB
1000 750 MB
2000 1500 MB

Otras maneras de establecer el límite de la asignación de memoria

Para establecer la opción del compilador /Zm en el entorno de desarrollo de Visual Studio, siga estos pasos:

  1. Abra el cuadro de diálogo Páginas de propiedades del proyecto. Para más información, vea Establecimiento del compilador de C++ y de propiedades de compilación en Visual Studio.

  2. Seleccione la página de propiedades Propiedades de configuración>C/C++>Línea de comandos.

  3. Escriba la opción del compilador /Zm en el cuadro Opciones adicionales.

Para establecer la opción del compilador /Zm mediante programación

Consulte también

Opciones del compilador de MSVC
Sintaxis de línea de comandos del compilador de MSVC