GCC 11在C++20模式下將啟用協(xié)程支持

最近發(fā)布的 GCC 10 編譯器已對(duì) C++20 的主要功能協(xié)程(Co-Routines)進(jìn)行了初始支持,但是除非顯式地開啟該選項(xiàng),否則并不會(huì)啟用此功能。

當(dāng) GCC 10 在 C++20 模式(std=c++20) 中運(yùn)行時(shí),默認(rèn)情況下會(huì)啟用 C++ 協(xié)程。而將于明年發(fā)布的 GCC 11 在 C++20 推出時(shí)將具有協(xié)程功能,到那時(shí),GNU 編譯器集合中支持 C++20 的剩余部分也應(yīng)該會(huì)被解決。

協(xié)程(Coroutines)是 C++20 的主要功能之一,它允許某個(gè)函數(shù)在暫停執(zhí)行之后再恢復(fù)。有關(guān) C++ 協(xié)程的示例語法和更多詳細(xì)信息請(qǐng)?jiān)?cppreference.com 上查看。可以看到,官方對(duì)協(xié)程的定義是:

A coroutine is a function that can suspend execution to be resumed later.

協(xié)程是能暫停執(zhí)行以在之后恢復(fù)的函數(shù)。

與 concepts, modules, spaceship operator 和內(nèi)存模型改進(jìn)等一起共同構(gòu)成 C++20 的主要特性。

C++20 標(biāo)準(zhǔn)在今年年初確定了技術(shù)規(guī)范后,將于近期正式發(fā)布。GCC 10 已經(jīng)配備了 C++20 的大部分內(nèi)容,而對(duì)于 GCC 11 來說,其余的項(xiàng)目很有可能將會(huì)被解決,包括像上周看到的為 std=c++20?啟用協(xié)程的更改。

在 C++ 標(biāo)準(zhǔn)的狀態(tài)頁面上,仍有面向 GCC 的 C++20 功能處于開發(fā)階段。如果想知道 LLVM Clang 上的 C++20 狀態(tài),可查看此頁面:https://clang.llvm.org/cxx_status.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容