Share via


/Zm (Specificare il limite di allocazione della memoria dell'intestazione precompilata)

Determina la quantità di memoria allocata dal compilatore per costruire intestazioni precompilate.

Sintassi

/Zmfactor

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 msbuild.exe insieme /MP all'opzione 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

  1. Aprire la finestra di dialogo Pagine delle proprietà del progetto. Per informazioni dettagliate, vedere Impostare il compilatore e le proprietà di compilazione.

  2. Selezionare la pagina delle proprietà Proprietà di configurazione>C/C++>Riga di comando.

  3. Immettere l'opzione del compilatore /Zm nella casella Opzioni aggiuntive.

Per impostare l'opzione del /Zm compilatore a livello di codice

Vedi anche

Opzioni del compilatore MSVC
Sintassi della riga di comando del compilatore MSVC