cpp-coroutines - C++20 协程技能
理解和调试 C++20 协程机制,包括 co_await、co_yield、co_return、promise_type 和帧内存布局
标签
更新于: 2026-06-30该技能可以做什么
- 解释 co_await
- 解释 co_yield
- 解释 co_return
- 实现 promise_type
- 编写 awaitable
- 编写生成器
- 读取协程帧
- 读取协程句柄
- 在 GDB 中调试
- 读取帧分配
- 读取编译时间
- 列出协程陷阱
- 创建协程类型
- 创建 Task 类型
- 使用 std::generator
- 使用 co_spawn
- 测试协程代码
- 分析协程代码
输入
- C++20 协程代码
- coroutine_type 定义
- coroutine_handle 变量
- GDB 调试会话
- Compiler Explorer 实例
- 协程帧结构
- 编译时间报告
输出
- 协程实现
- Task 实现
- Generator 实现
- Awaitable 实现
- 帧分析结果
- 调试报告
- 编译时间报告
- 陷阱列表
- 使用示例
要求
- C++20 编译器
- <coroutine> 头文件
- GDB 调试器
- Boost.Asio 库
- C++23 编译器
- -O2 优化
