/volatile (interpretacja słowa kluczowego volatile)

Określa sposób interpretowania słowa kluczowego volatile .

Składnia

/volatile:{iso|ms}

Argumenty

/volatile:iso
Wybiera ściśle semantykę volatile zdefiniowaną przez standardowy język C++ iso. Semantyka uzyskiwania/wydawania nie jest gwarantowana w przypadku nietrwałych dostępu. Jeśli kompilator jest przeznaczony dla usługi ARM (z wyjątkiem ARM64EC), jest to domyślna interpretacja elementu volatile.

/volatile:ms
Wybiera semantyka rozszerzona volatile firmy Microsoft, która dodaje gwarancje porządkowania pamięci wykraczające poza standardowy język C++ w standardzie ISO. Semantyka uzyskiwania/wydawania jest gwarantowana w przypadku nietrwałych dostępu. Jednak ta opcja wymusza również, aby kompilator wygenerował bariery pamięci sprzętowej, co może zwiększyć znaczne obciążenie w usłudze ARM i innych słabych architekturach porządkowania pamięci. Jeśli kompilator jest przeznaczony dla ARM64EC lub dowolnej platformy innej niż ARM, jest to domyślna interpretacja elementu volatile.

Uwagi

Zdecydowanie zalecamy używanie /volatile:iso wraz z jawnymi elementami pierwotnymi synchronizacji i funkcjami wewnętrznymi kompilatora, gdy masz do czynienia z pamięcią współdzieloną między wątkami. Aby uzyskać więcej informacji, zobacz volatile.

Jeśli przenosisz istniejący kod lub zmieniasz tę opcję w środku projektu, warto włączyć ostrzeżenie C4746 w celu zidentyfikowania lokalizacji kodu, które mają wpływ na różnicę w semantyce.

Ta opcja nie #pragma jest odpowiednikiem tej opcji.

Aby ustawić /volatile kompilator opcji w programie Visual Studio

  1. Otwórz okno dialogowe Strony właściwości dla projektu. Aby uzyskać więcej informacji, zobacz Set C++ compiler and build properties in Visual Studio (Ustawianie właściwości kompilatora języka C++ i kompilacji w programie Visual Studio).

  2. Wybierz stronę Właściwości>konfiguracji C/C++>Wiersza polecenia.

  3. W polu Dodatkowe opcje dodaj /volatile:iso lub /volatile:ms, a następnie wybierz przycisk OK lub Zastosuj, aby zapisać zmiany.

Zobacz też

volatile
Opcje kompilatora MSVC
Składnia wiersza polecenia kompilatora MSVC