熱搜:win11繞過硬件限制安裝 一鍵重裝Win10系統(tǒng) 最干凈的u盤啟動盤 真正純凈版的win7系統(tǒng)
編輯:jiayuan 2020-01-29 11:38:58 來源于:IT之家
協(xié)程(Coroutines)是C++20的主要功能之一,它允許某個函數(shù)在暫停執(zhí)行之后再恢復。而從新近曝光的GCC項目的郵件列表記錄來看,對C++20協(xié)程的實驗性支持目前已經(jīng)被合并到GCC 10編譯器中!下面讓我們來了解一下。
據(jù)悉,官方對協(xié)程的定義是:
A coroutine is a function that can suspend execution to be resumed later.
協(xié)程是能暫停執(zhí)行以在之后恢復的函數(shù)。
若函數(shù)的定義實現(xiàn)了以下任何內(nèi)容之一,則它是協(xié)程:
• 使用 co_await 運算符暫停執(zhí)行,直至恢復
• 使用關鍵詞 co_yield 暫停執(zhí)行并返回一個值
使用關鍵詞 co_return 完成執(zhí)行并返回一個值
據(jù)了解,對協(xié)程支持的開發(fā)工作已進行了數(shù)月,現(xiàn)在作為GCC 10最新增添的功能,尚屬實驗性的實現(xiàn)。
由于此功能處于早期狀態(tài)以及在GCC 10開發(fā)周期的后期階段才被添加進來,C++20協(xié)程在 -std=c++2a 中也不會公開,而且現(xiàn)在明確要求設置 -fcoroutines 標志方可使用。
另外,根據(jù)GCC對 C++標準的支持情況頁面,GCC還會支持C++的原子操作(atomic compare-and-exchange),完成即時函數(shù)( immediate functions)的工作,獲得對 C++ modules的支持以及其他功能。不過由于GCC 10已經(jīng)處于第四階段的開發(fā)周期中,因此直到明年在 GCC 11上才可以在此編譯器中看到完整的、可投入生產(chǎn)環(huán)境使用的 C++20支持。
發(fā)表評論
共0條
評論就這些咯,讓大家也知道你的獨特見解
立即評論以上留言僅代表用戶個人觀點,不代表系統(tǒng)之家立場