Partager via


/Zm (Spécifier la limite d’allocation de mémoire d’en-tête précompilée)

Détermine la quantité de mémoire que le compilateur alloue pour construire des en-têtes précompilés.

Syntaxe

/Zmfactor

Arguments

factor
Pourcentage de facteur de mise à l’échelle qui détermine la quantité de mémoire utilisée par le compilateur pour construire des en-têtes précompilés.

L’argument factor est un pourcentage de la taille par défaut d’une mémoire tampon de travail définie par le compilateur. La valeur par défaut est factor 100 (pourcentage), mais vous pouvez spécifier des quantités plus grandes ou plus petites.

Notes

Dans les versions antérieures à Visual Studio 2015, le compilateur C++ a utilisé plusieurs tas discrets, chacun ayant une limite limitée. Actuellement, le compilateur augmente dynamiquement les tas selon les besoins jusqu’à une limite totale de taille de tas et permet à l’en-tête précompilé de comprendre plusieurs plages d’adresses. À présent, l’option du /Zm compilateur est rarement nécessaire.

Si le compilateur manque d’espace de tas et émet le message d’erreur C1060 lorsque vous utilisez l’option /Zm du compilateur, vous avez peut-être réservé trop de mémoire. Envisagez de supprimer l’option /Zm .

Si le compilateur émet le message d’erreur C1076, un message C3859 associé spécifie l’argument factor à utiliser lorsque vous recompilez à l’aide de l’option du /Zm compilateur. Ce message n’est significatif que lorsqu’un en-tête précompilé utilise #pragma hdrstop. Dans d’autres cas, il s’agit d’une erreur erronée provoquée par des problèmes de pression de mémoire virtuelle Windows, et la recommandation d’utiliser l’option /Zm doit être ignorée. Au lieu de cela, envisagez de réduire le nombre de processus parallèles lors de l’utilisation de l’option /maxcpucount pour MSBUILD.EXE avec l’option /MP de CL.EXE. Pour plus d’informations, consultez problèmes et recommandations de l’en-tête précompilé (PCH).

Le tableau suivant montre comment l’argument factor affecte la limite d’allocation de mémoire. Dans le tableau, nous supposons que la taille de la mémoire tampon d’en-tête précompilée par défaut est de 75 Mo.

Valeur de factor Limite d'allocation de mémoire
10 7,5 Mo
100 75 Mo
200 150 Mo
1 000 750 Mo
2000 1500 Mo

Autres façons de définir la limite d’allocation de mémoire

Pour définir l’option du compilateur dans l’environnement /Zm de développement Visual Studio

  1. Ouvrez la boîte de dialogue Pages de propriété du projet. Pour plus d’informations, consultez Définir le compilateur C++ et les propriétés de build dans Visual Studio.

  2. Sélectionnez la page de propriétés Propriétés de configuration>C/C++>Ligne de commande.

  3. Entrez l’option du compilateur /Zm dans la zone Options supplémentaires.

Pour définir l’option du /Zm compilateur par programmation

Voir aussi

Options du compilateur MSVC
Syntaxe de ligne de commande du compilateur MSVC