/volatile (volatile 關鍵字轉譯)

指定 volatile 關鍵字如何解譯方式。

/volatile:{iso|ms}

引數

  • /volatile:iso
    選取嚴格 volatile 語意所定義 ISO 標準 C++ 語言。取得/版本語意在暫時性存取不保證。如果編譯器目標項目的,這是 volatile的預設解譯。

  • /volatile:ms
    選取 Microsoft 擴充 volatile 語意,增加記憶體 ISO 標準 C++ 語言以外的順序保證。取得/版本語意在暫時性存取保證。不過,這個選項也會強制編譯器產生硬體記憶體屏障,可能會在 ARM 和其他弱式記憶體定序結構的重大額外負荷。如果編譯器以除了號誌的任何平台,這是 volatile的預設解譯。

備註

強烈建議您使用明確的同步處理原始物件同時使用 /volatile:iso 和編譯器內建,當您處理跨執行緒共用記憶體時。如需詳細資訊,請參閱靜態 (C++)

如果您將現有的程式碼或在專案中變更這個選項,使警告 C4746 識別受語意的差異影響的程式碼位置可能會很有用。

沒有控制這個選項的對等 #pragma 。

在 Visual Studio 中設定 /volatile 編譯器選項

  1. 開啟專案的 [屬性頁] 對話方塊。如需詳細資訊,請參閱HOW TO:開啟專案屬性頁

  2. 選取 [C/C++] 資料夾。

  3. 選取 [命令列] 屬性頁。

  4. 在 [其他選項] 方塊中新增 /volatile:iso 或 /volatile: ms-。

請參閱

參考

靜態 (C++)

編譯器選項

設定編譯器選項