/Zm
(Angeben des Grenzwerts für die Vorkompilierung der Headerspeicherzuweisung)
Bestimmt den Arbeitsspeicher, den der Compiler für die Erstellung von vorkompilierten Headern belegt.
Syntax
/Zm
factor
Argumente
factor
Ein Skalierungsfaktorprozentsatz, der die Arbeitsspeichermenge bestimmt, die der Compiler zum Erstellen vorkompilierter Header verwendet.
Das factor
Argument ist ein Prozentsatz der Standardgröße eines compilerdefinierten Arbeitspuffers. Der Standardwert von factor
100 (Prozent), Sie können jedoch größere oder kleinere Beträge angeben.
Hinweise
In Versionen vor Visual Studio 2015 verwendete der C++-Compiler mehrere diskrete Heaps und hatte jeweils einen begrenzten Grenzwert. Derzeit wächst der Compiler dynamisch die Heaps nach Bedarf bis zu einem Gesamthap-Größenlimit und ermöglicht es dem vorkompilierten Header, mehrere Adressbereiche zu umfassen. Jetzt ist die /Zm
Compileroption selten erforderlich.
Wenn der Compiler nicht genügend Heapspeicher aufweist und die C1060-Fehlermeldung ausgibt, wenn Sie die /Zm
Compileroption verwenden, haben Sie möglicherweise zu viel Arbeitsspeicher reserviert. Erwägen Sie, die /Zm
Option zu entfernen.
Wenn der Compiler die C1076-Fehlermeldung ausgibt, gibt eine zugehörige C3859-Meldung das Argument an, das factor
verwendet werden soll, wenn Sie die /Zm
Compileroption erneut kompilieren. Diese Nachricht ist nur dann wichtig, wenn eine vorkompilierte Kopfzeile verwendet #pragma hdrstop
wird. In anderen Fällen ist es ein fehlerhafter Fehler, der durch Probleme mit dem virtuellen Windows-Speicherdruck verursacht wird, und die Empfehlung, die /Zm
Option zu verwenden, sollte ignoriert werden. Erwägen Sie stattdessen, die Anzahl paralleler Prozesse bei Verwendung der /maxcpucount
Option zum MSBUILD.EXE zusammen mit der /MP
Option zum CL.EXE zu reduzieren. Weitere Informationen finden Sie unter Precompiled Header (PCH)-Probleme und Empfehlungen.
Die folgende Tabelle zeigt, wie sich das factor
Argument auf die Speicherzuweisungsgrenze auswirkt. In der Tabelle wird davon ausgegangen, dass die Größe des standardkompilierten Headerpuffers 75 MB beträgt.
Wert von factor |
Maximale Speicherbelegung |
---|---|
10 | 7,5 MB |
100 | 75 MB |
200 | 150 MB |
1.000 | 750 MB |
2.000 | 1500 MB |
Weitere Möglichkeiten zum Festlegen des Speicherzuweisungsgrenzwerts
So legen Sie die /Zm
Compileroption in der Visual Studio-Entwicklungsumgebung fest
Öffnen Sie das Dialogfeld Eigenschaftenseiten des Projekts. Weitere Informationen erhalten Sie unter Set C++ compiler and build properties in Visual Studio (Festlegen der Compiler- und Buildeigenschaften (C++) in Visual Studio).
Klicken Sie auf der Eigenschaftenseite auf Konfigurationseigenschaften>C/C++>Befehlszeile.
Geben Sie die /Zm-Compileroption in das Feld "Zusätzliche Optionen " ein.
So legen Sie die /Zm
Compileroption programmgesteuert fest
- Siehe AdditionalOptions.
Siehe auch
MSVC-Compileroptionen
Syntax für die MSVC-Compilerbefehlszeile