/volatile (interpretazione della parole chiave volatile)
Specifica in che modo deve essere interpretata la parola chiave volatile.
/volatile:{iso|ms}
Argomenti
/volatile:iso
Selezionare la semantica ridotta volatile definita dal linguaggio di ISO-standard C++. La semantica di acquisizione/rilascio non è garantita negli accessi volatili. Se il compilatore è invece destinato ad ARM, si tratta dell'interpretazione predefinita di volatile./volatile:ms
Selezionare la semantica estesa Microsoft volatile, che garantisce l'aggiunta dell'ordinamento in memoria oltre al linguaggio ISO-standard C++. La semantica di acquisizione/rilascio non è garantita negli accessi volatili. Tuttavia, questa opzione forza anche il compilatore a generare barriere di memoria hardware, che possono aggiungere un sovraccarico su ARM e in altre architetture con memoria a ordinamento debole. Se il compilatore è destinato a qualsiasi piattaforma tranne quella ARM, si tratta dell'interpretazione predefinita di volatile.
Note
È consigliabile utilizzare /volatile:iso con le primitive di sincronizzazione esplicite e le funzioni intrinseche del compilatore, quando si utilizzano con una memoria che è condivisa tra thread. Per ulteriori informazioni, vedere volatile (C++).
Se si trasferisce il codice esistente o si modifica questa opzione nel corso un progetto, può essere utile abilitare l'avviso C4746 per identificare le posizioni di codice interessate dalla differenza di semantica.
Non esiste un equivalente #pragma al controllo di questa opzione.
Per impostare l'opzione del compilatore /volatile in Visual Studio
Aprire la finestra di dialogo Pagine delle proprietà del progetto. Per ulteriori informazioni, vedere Procedura: aprire le pagine delle proprietà dei progetti.
Selezionare la cartella C/C++.
Selezionare la pagina delle proprietà Riga di comando.
Nella casella Opzioni aggiuntive aggiungere /volatile:iso o /volatile:ms.