c++20 协程
无栈协程
co_spawn 创建 1 个新协程
co_await 设置协程可主动让出 CPU 片的代码点
1、windows 下比较简单
在vs2017 里面加上一条c++ 命令
/await 就这样,就可以了
2、linux
linux gcc 的支持比较晚,最早的就是clang和vs c++,但是gcc 10 是支持了,gcc 9 支持的是c++17
在linux gcc下,因为虚拟机经常出问题,使用了windows10的wsl 后,发现很方便,不用像虚拟机那样设置共享文件,所以很方便。
推荐安装wsl
windows安装wsl 后,到windows的应用商店
安装Ubuntu 20 LTS版本, 速度很快,结束后一条命令:
sudo apt-get update
再一条命令
audo apt-get install build-essential
自带的gcc是9.3 版本,但是c++ 20 必须使用的是gcc 10 版本以上
sudo apt-get install gcc-10 g++10
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 60 --slave /usr/bin/g++ g++ /usr/bin/g+±10
其中60 是优先级别,你可以自行设定每个gcc版本的优先级别
ok,写一段代码:
请使用一下编译命令,不出意外,程序编译成功
g++ -std=c++20 -I./include -pthread -fcoroutines -O3 main.cpp -o main
1 -pthread 不是-lpthread
2 加上 -fcoroutines 协程标识
请开始你的c++20 asio 协程吧