/Zm
(Specificare il limite di allocazione della memoria dell'intestazione precompilata)
Determina la quantità di memoria allocata dal compilatore per costruire intestazioni precompilate.
Sintassi
/Zm
factor
Argomenti
factor
Percentuale di fattore di ridimensionamento che determina la quantità di memoria usata dal compilatore per costruire intestazioni precompilate.
L'argomento factor
è una percentuale delle dimensioni predefinite di un buffer di lavoro definito dal compilatore. Il valore predefinito di factor
è 100 (percentuale), ma è possibile specificare importi maggiori o minori.
Osservazioni:
Nelle versioni precedenti a Visual Studio 2015, il compilatore C++ usava diversi heap discreti e ognuno aveva un limite finito. Attualmente, il compilatore aumenta dinamicamente gli heap in base alle esigenze fino a un limite di dimensioni heap totali e consente all'intestazione precompilata di includere più intervalli di indirizzi. Ora, l'opzione del /Zm
compilatore è raramente necessaria.
Se il compilatore esaurisce lo spazio dell'heap e genera il messaggio di errore C1060 quando si usa l'opzione /Zm
del compilatore, potrebbe essere stata riservata una quantità eccessiva di memoria. Provare a rimuovere l'opzione /Zm
.
Se il compilatore genera il messaggio di errore C1076, un messaggio C3859 a fianco specifica l'argomento factor
da usare quando si ricompila usando l'opzione del /Zm
compilatore. Questo messaggio è significativo solo quando un'intestazione precompilata usa #pragma hdrstop
. In altri casi, si tratta di un errore spurio causato da problemi di utilizzo della memoria virtuale di Windows e la raccomandazione di usare l'opzione /Zm
deve essere ignorata. Prendere invece in considerazione la possibilità di ridurre il numero di processi paralleli quando si usa l'opzione /maxcpucount
per MSBUILD.EXE insieme all'opzione /MP
per CL.EXE. Per altre informazioni, vedere Problemi di intestazione precompilata (PCH) e consigli.
Nella tabella seguente viene illustrato come l'argomento factor
influisce sul limite di allocazione della memoria. Nella tabella si presuppone che le dimensioni del buffer di intestazione precompilato predefinito siano 75 MB.
Valore di factor |
Limite di allocazione della memoria |
---|---|
10 | 7,5 MB |
100 | 75 MB |
200 | 150 MB |
1000 | 750 MB |
2000 | 1500 MB |
Altri modi per impostare il limite di allocazione della memoria
Per impostare l'opzione del /Zm
compilatore nell'ambiente di sviluppo di Visual Studio
Aprire la finestra di dialogo Pagine delle proprietà del progetto. Per informazioni dettagliate, vedere Impostare il compilatore e le proprietà di compilazione.
Selezionare la pagina delle proprietà Proprietà di configurazione>C/C++>Riga di comando.
Immettere l'opzione del compilatore /Zm nella casella Opzioni aggiuntive.
Per impostare l'opzione del /Zm
compilatore a livello di codice
- Vedere AdditionalOptions.
Vedi anche
Opzioni del compilatore MSVC
Sintassi della riga di comando del compilatore MSVC