/await
(啟用協同程式支援)
使用編譯 /await
程式選項來啟用協同程式的編譯器支援。
語法
/await
/await:strict
備註
編譯 /await
程式選項可啟用 C++ 協同程式的編譯器支援,以及 關鍵字 co_await
、 co_yield
和 co_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 開發環境中設定這個編譯器選項
開啟專案的 [屬性頁] 對話方塊。
選取 [組態屬性]>[C/C++]>[命令列] 屬性頁。
在 [
/await
其他選項 ] 方塊中輸入 或/await:strict
編譯器選項。 選擇 [確定 ] 或 [ 套用 ] 以儲存您的變更。
若要以程式方式設定這個編譯器選項
- 請參閱 AdditionalOptions。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應