/STACK (Allocazioni stack)
/STACK:reserve[,commit]
Note
L'opzione /STACK consente di impostare la dimensione in byte dello stack. Utilizzare tale opzione solo durante la compilazione di un file exe.
Il valore reserve consente di specificare l'allocazione totale per lo stack nella memoria virtuale. Per computer ARM, x86 e x64, la dimensione predefinita dello stack è 1 MB.
L'argomento commit viene interpretato in modo diverso in base al sistema operativo. In WindowsRT specifica la quantità di memoria fisica da allocare alla volta. Vincolando memoria virtuale viene riservato spazio nel file di paging. Un valore di commit più alto fa risparmiare tempo quando nell'applicazione è necessario maggior spazio per lo stack, ma aumenta i requisiti di memoria e in alcuni casi il tempo di avvio. Per computer ARM, x86 e x64, il valore di commit predefinito è 4 KB.
Specificare i valori reserve e commit in notazione decimale o in linguaggio C.
È inoltre possibile impostare la dimensione dello stack utilizzando l'istruzione STACKSIZE in un file di definizione moduli (def). STACKSIZE consente di eseguire l'override dell'opzione Stack Allocations (/STACK) se sono specificate entrambe. È possibile modificare la dimensione dello stack dopo la compilazione del file exe utilizzando lo strumento EDITBIN.
Per impostare l'opzione del linker nell'ambiente di sviluppo di Visual Studio
Aprire la finestra di dialogo Pagine delle proprietà del progetto. Per informazioni dettagliate, vedere Impostazione delle proprietà dei progetti Visual C++.
Selezionare la cartella Linker.
Selezionare la pagina delle proprietà Sistema.
Modificare una delle seguenti proprietà:
Dimensione stack commit
Dimensione stack riservata
Per impostare l'opzione del linker a livello di codice
- Vedere le proprietà StackCommitSize e StackReserveSize.