GCC 11 在 C++20 模式下将启用协程支持

局长
 局长
发布于 2020年05月19日
收藏 10

最近发布的 GCC 10 编译器已对 C++20 的主要功能协程(Co-Routines)进行了初始支持,但是除非显式地开启该选项,否则并不会启用此功能。

当 GCC 10 在 C++20 模式(std=c++20) 中运行时,默认情况下会启用 C++ 协程。而将于明年发布的 GCC 11 在 C++20 推出时将具有协程功能,到那时,GNU 编译器集合中支持 C++20 的剩余部分也应该会被解决。

协程(Coroutines)是 C++20 的主要功能之一,它允许某个函数在暂停执行之后再恢复。有关 C++ 协程的示例语法和更多详细信息请在 cppreference.com 上查看。可以看到,官方对协程的定义是:

A coroutine is a function that can suspend execution to be resumed later. 
协程是能暂停执行以在之后恢复的函数。

与 concepts, modules, spaceship operator 和内存模型改进等一起共同构成 C++20 的主要特性。

C++20 标准在今年年初确定了技术规范后,将于近期正式发布。GCC 10 已经配备了 C++20 的大部分内容,而对于 GCC 11 来说,其余的项目很有可能将会被解决,包括像上周看到的为 std=c++20 启用协程的更改。

在 C++ 标准的状态页面上,仍有面向 GCC 的 C++20 功能处于开发阶段。如果想知道 LLVM Clang 上的 C++20 状态,可查看此页面

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.oschina.net]
本文标题:GCC 11 在 C++20 模式下将启用协程支持
加载中

精彩评论

小熊宝宝
小熊宝宝
继续看好C++前浪😄
baiyfcu
baiyfcu
😁期待
infoworld
infoworld
C++20在Windows上需要VS2017以上才能支持了.
我本无邪
我本无邪
能文也能武
T
Tanger
期盼已久

最新评论(11

z
zuvakino
C++20 都快脱离C++本质了吧, 什么都往上对,又要兼容又要新特新
infoworld
infoworld
C++20在Windows上需要VS2017以上才能支持了.
我本无邪
我本无邪
能文也能武
d
dwcz
以后看c++代码如同看飞机的设计图纸。
wanggujin
wanggujin
三月份就开始说近期发布,近期到底是多久
T
Tanger
期盼已久
dwingo
dwingo
协程对资源生命期的管理更加复杂. 对于有GC的语言能省心一点.
y
yh2216
你理解错了!
dwingo
dwingo
查了一下, 协程会把某些栈分配改成堆分配, 以解决生命期问题, 看来不算复杂, 只是这个堆分配没法自定义内存分配器.
小熊宝宝
小熊宝宝
继续看好C++前浪😄
baiyfcu
baiyfcu
😁期待
返回顶部
顶部