Sdílet prostřednictvím


/volatile (Interpretace klíčového slova volatile)

Určuje způsob interpretace klíčového slova volatile.

/volatile:{iso|ms}

Arguments

  • /volatile:iso
    Vybere striktní sémantiky volatile podle standardu ISO jazyka C++.Sémantika získání nebo vydání není zaručena pro nestálé přístupy.Pokud se kompilátor zaměřuje na ARM, toto je výchozí výklad volatile.

  • /volatile:ms
    Vybere sémantiku volatile s rozšířením společnosti Microsoft, která zaručuje řazení paměti nad rámec standardu ISO jazyka C++.Sémantika získání nebo vydání je zaručena pro nestálé přístupy.Tato možnost však způsobí, že kompilátor generuje hardwarové překážky paměti, které mohou přidat významné zatížení na ARM a jiné paměti s architekturou se slabým řazením.Pokud se kompilátor zaměřuje na libovolnou platformu s výjimkou ARM, toto je výchozí výklad volatile.

Poznámky

Důrazně doporučujeme používat /volatile:iso spolu s explicitní synchronizací primitiv a vnitřních typů kompilátoru při jednání s pamětí, která je sdílena mezi vlákny.Další informace naleznete v tématu volatile (C++).

Pokud portujete existující kód nebo měníte tuto možnost během projektu, může být užitečné povolit upozornění C4746 k identifikaci umístění kódu, která jsou ovlivněna rozdíly v sémantice.

Neexistuje žádný ekvivalent #pragma pro ovládání této možnosti.

Nastavení možnosti /volatilní kompilátor v aplikaci Visual Studio

  1. Otevřete dialogové okno Stránky vlastností projektu.Další informace naleznete v tématu Postupy: Otevření stránek vlastností projektu.

  2. Vyberte složku C/C++.

  3. Vyberte stránku vlastností Příkazový řádek.

  4. V poli Další možnosti zadejte parametr /volatile:iso nebo /volatile:ms.

Viz také

Referenční dokumentace

volatile (C++)

Možnosti kompilátoru

Nastavení možností kompilátoru