/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
/Zm
factor
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
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.
Sélectionnez la page de propriétés Propriétés de configuration>C/C++>Ligne de commande.
Entrez l’option du compilateur /Zm dans la zone Options supplémentaires.
Pour définir l’option du /Zm
compilateur par programmation
- Consultez AdditionalOptions.
Voir aussi
Options du compilateur MSVC
Syntaxe de ligne de commande du compilateur MSVC