async_simple编译测试(一)

前言
async_simple 阿里开源的轻量级 C++ 异步框架
提供了基于 C++20 无栈协程(Lazy)、有栈协程(Uthread) 以及 Future/Promise 等异步组件,能够轻松完成 C++ 异步的开发,广泛应用于阿里的图计算引擎、时序数据库、搜索引擎等系统。

1:准备
下载地址 https://github.com/alibaba/async_simple
ubutu18
需要 clang10 或 gcc10 或 Apple-clang14 及其以上版本(这里准备的gcc11)
cmake 3.15及以上

2:安装
官方安装说明(按照说明,实际操作有点问题)
在这里插入图片描述

gcc11 g++11
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-11 g+±11
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-1 110
sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g+±11 110
cmake
sudo snap find cmake
#找到是 3.26.3 最新版(apt-cache madison cmake 得到是3.10.2 无法满足需求)
sudo snap install cmake --classic

make (https://ftp.gnu.org/pub/gnu/make/ 最新版 4.4)
sudo apt-get install make #安装是4.1 (apt-cache 查到是4.1.9 snap 没找到可安装的make)

libaio-dev
sudo apt install libaio-dev -y

使用apt安装gtest、gmock
sudo apt install -y libgtest-dev libgmock-dev
修改为(libgmock-dev 找不到)
sudo apt install -y libgtest-dev gmock

3:编译运行
官方
在这里插入图片描述

cd async_simple # cd 到目录下
mkdir build && cd build
CXX=g++ CC=gcc #这里跟官方说明不一样,
cmake …/ -DCMAKE_BUILD_TYPE=Debug -DASYNC_SIMPLE_ENABLE_TESTS=OFF -DASYNC_SIMPLE_BUILD_DEMO_EXAMPLE=OFF -DASYNC_SIMPLE_DISABLE_AIO=ON

make test (已备忽略了) make install #这里暂时没执行 需要时,直接拷贝过去就行

4:编译DEMO工程

1>async_simple 拷贝到 demo 目录下 主要是 头文件
在这里插入图片描述
2> 上面的 async_simple 毕竟没执行 make install ,所以需要指定头文件路径及 库文件路径
还有就是增加 pthread
在这里插入图片描述

cmake …/
make

在这里插入图片描述

5:测试运行
期待 c++23 ,c++26早点出来,感觉不像go的协程那么方便使用
在这里插入图片描述
如果觉得有用,麻烦点个赞,加个收藏

猜你喜欢

转载自blog.csdn.net/yunteng521/article/details/130573721