查询支持std::execution并行STL算法的GCC与Clang版本
C++ 并行STL算法编译器支持版本说明
GCC 支持要求
- 最低要求版本为 GCC 9,从该版本开始完整支持C++17标准定义的
<execution>头文件、std::execution系列执行策略以及对应的并行STL算法(比如并行版std::sort) - 编译使用时需要满足两个条件:
- 编译参数指定
-std=c++17或更高的C++标准版本 - 提前安装TBB(Intel Threading Building Blocks)库作为并行算法底层实现,链接阶段添加参数
-ltbb
- 编译参数指定
- 你当前使用的GCC 7.5.0版本远低于最低要求,无法支持该特性,需升级到GCC 9及以上版本
Clang 支持要求
- 最低要求版本为 Clang 11,从该版本开始正式支持并行STL相关特性,底层同样依赖TBB库
- 编译使用要求和GCC一致:指定
-std=c++17及以上标准,链接时添加-ltbb参数 - 你当前使用的Clang 10版本不支持该特性,需升级到Clang 11及以上版本
额外注意事项
部分Linux发行版会把并行STL相关组件拆分为独立的软件包,安装编译器时需要同步安装对应的配套依赖:
- 使用GCC时需要安装
libstdc++-9-dev及以上版本的开发包 - 使用Clang时如果选择libc++标准库,需要安装对应版本的
libc++-dev开发包
内容的提问来源于stack exchange,提问作者Ralf
相关产品推荐
相关产品推荐

