/volatile (interprétation de mot clé volatile)
Spécifie comment le mot clé d' volatile doit être interprétée.
/volatile:{iso|ms}
Arguments
/volatile:iso
Sélectionne la sémantique de type stricte d' volatile définie par le langage ISO- C++ standard.Tapez/sémantique de version finale n'est pas garanti sur les accès volatile.Si le compilateur cible ARM, c'est la traduction par défaut d' volatile./volatile:ms
Sélectionne la sémantique d' volatile étendue par Microsoft, qui ajoutent la mémoire classement des garanties au delà de le langage ISO- C++ standard.Tapez/sémantique de version finale est garanti sur les accès volatile.Toutefois, cette option peut également le compilateur de générer des barrières de mémoire matériel, qui peuvent ajouter la charge mémoire significative sur ARM et d'autres architectures mémoire classantes libre.Si le compilateur cible une plateforme à l'exception de ARM, il s'agit d'interprétation par défaut d' volatile.
Notes
Nous vous recommandons fortement d'utiliser /volatile:iso avec des primitives de synchronisation explicites et les intrinsèques du compilateur lorsque vous gérez la mémoire qui est partagée entre les threads.Pour plus d'informations, consultez volatile (C++).
Si vous mettez en communication le code existant ou modifiez cette option au milieu d'un projet, il peut être utile de permettre à C4746 d'avertissement d'identifier les emplacements de code affectés par la différence dans la sémantique.
Il n'y a aucun équivalent #pragma pour vérifier cette option.
Pour définir option du compilateur /volatile dans Visual Studio
Ouvrez la boîte de dialogue Pages de propriété du projet.Pour plus d'informations, consultez Comment : ouvrir les pages de propriétés d'un projet.
Sélectionnez le dossier C/C++ .
Sélectionnez la page de propriétés Ligne de commande .
Dans la zone Options supplémentaires, ajoutez /volatile:iso ou /volatile:ms.