/await (啟用協同程式支援)

使用編譯 /await 程式選項來啟用協同程式的編譯器支援。

語法

/await
/await:strict

備註

編譯 /await 程式選項可啟用 C++ 協同程式的編譯器支援,以及 關鍵字 co_awaitco_yieldco_return 。 根據預設,這個選項為關閉狀態。 如需 Visual Studio 中協同程式支援的相關資訊,請參閱 Visual Studio Team 部落格 。 如需協同程式標準提案的詳細資訊,請參閱 N4628 工作草稿、適用于協同程式 之 C++ 延伸模組的技術規格。

此選項 /await 可從 Visual Studio 2015 開始使用。

從 Visual Studio 2019 16.10 版開始, /await:strict 可以使用 選項來取代 /await 。 選項提供 C++20 相容協同程式支援,以支援以 C++14 或 C++17 模式建置的專案。 在模式中 /await:strict< ,程式庫支援是在協同程式和 > 命名空間中 std 提供。

選項 /await:strict 會停用 C /await ++20 標準中未採用的語言延伸模組。 使用這類功能會導致編譯器錯誤。 此選項也會實作協同程式列為,例如 promise 參數預覽。 由於舊版 Visual Studio 中的二進位相容性問題,因此無法使用這些 /await 行為。

注意

coroutine_handle<T>::address() 取得的協同程式狀態物件在 和 /await:strict 模式之間 /await 不相容。 coroutine_handle<T>::from_address()在從以不相容模式編譯的程式碼所建立之協同程式控制碼所取得的位址上使用 會導致未定義的行為。

在 Visual Studio 開發環境中設定這個編譯器選項

  1. 開啟專案的 [屬性頁] 對話方塊。

  2. 選取 [組態屬性]>[C/C++]>[命令列] 屬性頁。

  3. 在 [ /await 其他選項 ] 方塊中輸入 或 /await:strict 編譯器選項。 選擇 [確定 ] 或 [ 套用 ] 以儲存您的變更。

若要以程式方式設定這個編譯器選項

另請參閱

MSVC 編譯器選項
MSVC 編譯器命令列語法