/volatile (interpretazione della parole chiave volatile)
Specifica la modalità di interpretazione della parola chiave volatile .
Sintassi
/volatile:{iso|ms}
Argomenti
/volatile:iso
Seleziona la semantica strict volatile
definita dal linguaggio C++ standard ISO. La semantica di acquisizione/rilascio non è garantita per gli accessi volatili. Se il compilatore ha come destinazione ARM (ad eccezione di ARM64EC), questa è l'interpretazione predefinita di volatile
.
/volatile:ms
Seleziona la semantica estesa volatile
Microsoft, che aggiunge garanzie di ordinamento della memoria oltre il linguaggio C++ standard ISO. La semantica di acquisizione/rilascio è garantita per gli accessi volatili. Tuttavia, questa opzione forza anche il compilatore a generare barriere di memoria hardware, che potrebbero aggiungere un sovraccarico significativo su ARM e altre architetture deboli di ordinamento della memoria. Se il compilatore è destinato ARM64EC o a qualsiasi piattaforma non ARM, questa è l'interpretazione predefinita di volatile
.
Osservazioni:
È consigliabile usare /volatile:iso insieme alle primitive di sincronizzazione esplicite e alle funzioni intrinseche del compilatore quando si utilizza la memoria condivisa tra thread. Per altre informazioni, vedere Volatile.
Se si esegue la conversione di codice esistente o si modifica questa opzione al centro di un progetto, può essere utile abilitare l'avviso C4746 per identificare le posizioni del codice interessate dalla differenza nella semantica.
Non esiste alcun #pragma
equivalente per controllare questa opzione.
Per impostare l'opzione del compilatore /volatile in Visual Studio
Aprire la finestra di dialogo Pagine delle proprietà per il progetto. Per altre informazioni, vedere Impostare il compilatore e le proprietà di compilazione.
Selezionare la pagina delle proprietà Proprietà di configurazione>C/C++>Riga di comando.
Nella casella Opzioni aggiuntive aggiungere /volatile:iso o /volatile:ms e quindi scegliere OK o Applica per salvare le modifiche.
Vedi anche
volatile
Opzioni del compilatore MSVC
Sintassi della riga di comando del compilatore MSVC