/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++14 或 C++17 模式建置的專案,提供C++20 相容的協同程序支援。 在模式中/await:strict<,連結庫支援是在協同程式和>命名空間中std提供。

此選項 /await:strict 會停用中 /await 未採用至 C++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 編譯器命令列語法