Udostępnij za pośrednictwem


/volatile (interpretacja słowa kluczowego volatile)

Określa sposób, w jaki należy interpretować słowo kluczowe volatile.

/volatile:{iso|ms}

Argumenty

  • /volatile:iso
    Wybiera ścisłą semantykę volatile zgodnie z definicją standardu ISO języka C++.Semantyka nabycia/wydania nie jest gwarantowana przy dostępach lotnych.Jeśli kompilator jest przeznaczony na platformę ARM, jest to domyślna interpretacja volatile.

  • /volatile:ms
    Wybiera rozszerzoną semantykę volatile Microsoft, co dodaje gwarancje pamięci zamawiania ponad standard ISO języka C++.Semantyka nabycia/wydania jest gwarantowana przy dostępach lotnych.Wybór tej opcji zmusza również kompilator do generowania sprzętowych barier pamięci, które mogą znacząco zwiększyć obciążenie ARM i innych słabych architektur zamawiających pamięć.Jeśli kompilator jest przeznaczony na dowolną platformę, z wyjątkiem ARM, jest to domyślna interpretacja volatile.

Uwagi

Zalecamy użycie /volatile:iso wraz z jawnymi podstawami synchronizacji i niejawnymi kompilacjami, podczas kontaktu z pamięcią, która jest udostępniona w wielu wątkach.Aby uzyskać dodatkowe informacje, zobacz volatile (C++).

Jeśli przeniesiesz istniejący kod lub zmienisz tę opcję w środku projektu, może być pomocne włączenie ostrzeżenia C4746 do identyfikowania lokalizacji kodu, której dotyczą różnice w semantyce.

Nie ma odpowiednika #pragma do kontrolowania tej opcji.

Aby ustawić zmienną opcję kompilatora /w Visual Studio

  1. Otwórz okno dialogowe Strony właściwości dla projektu.Aby uzyskać dodatkowe informacje, zobacz Porady: otwieranie stron właściwości projektów.

  2. Wybierz folder C/C++.

  3. Wybierz stronę właściwości Wiersz polecenia.

  4. W polu Opcje dodatkowe dodaj /volatile:iso lub /volatile:ms.

Zobacz też

Informacje

volatile (C++)

Opcje kompilatora

Ustawianie opcji kompilatora