HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

GCC 8.1 支持 C++2a 的部分特性

  • 2018-05-16
  • 本文字数:922 字

    阅读完需:约 3 分钟

看新闻很累?看技术新闻更累?试试下载 InfoQ 手机客户端,每天上下班路上听新闻,有趣还有料!

GCC 8.1 是 GNU 编译器集的最新主版本,该版本对即将到来的 C++2a 标准的某些部分提供了实验性支持。此外,GCC 8.1 改进了性能分析驱动的优化,并把 Go 支持提升到了 1.10.1 版本。

虽然对于即将到来的 C++ 草案,有关工作尚处于起步阶段,但 GCC C++ 前台提供了两个新标识-std=c++2a-std=gnu++2a,以便启用已经预先批准的部分 C++ 新特性,其中包括指定初始化针对位域的默认成员初始化器针对预处理程序逗号省略的 VA_OPT lambda 捕获 [=, this] 简化的隐式lambda 捕获等等。要了解GCC 8 中的全部C++2a 特性,请查阅 C++ 状态页面

此外,C++ 的前台输出现在改进了诊断信息,包括改进了位置和位置范围,并提供了若干新的故障排除线索。例如,在以下情况下,编译器现在可以提供一个线索,如在定义之前使用宏,试图访问类或结构的私有字段,当旧式的转换可以用static_castconst_castreinterpret_cast替代。

GCC 8.1 显著改善了性能分析驱动的优化。这些优化使用对被检测代码的性能分析结果决定优化哪一部分代码。例如,GCC 现在默认会把面向x86 的函数分成热区和冷区。热函数的优化力度更大,GCC 会把它们放在同一个区域里,增强局部性。同样,GCC 现在能够从一个有效运行的程序中检测不执行的代码,比如,它在某一时刻触发了未定义的行为。

谈到优化,该版本还新增了循环优化,如 -floop-unroll-and-jam执行外部循环展开和内部循环融合,-floop-interchange执行嵌套循环中的循环互换,增强数据局部性。一些已有的优化器也经过了改进,包括-floop-nest-optimize-ftree-loop-distribution。所有优化器都是使用-O3标识默认启用的。

前面已经提到,Go 支持经过了改进,这得益于 Go 1.10.1 的完整实现,这是 Go 最新的官方版本。此外,其垃圾收集器现在是完全并发的了。

最后需要注意的一点是, GCC 8.1 还引入了 Armv8.4-A 架构支持,可以通过-march=armv8.4-a选项启用,可伸缩向量扩展(SVE)支持现在是作为Armv8.2-A 架构及更高版本的可选扩展。

GCC 8.1 还包含许多更有趣的变化,要了解全部细节,请查看官方的发布说明

查看英文原文 New GCC 8.1 Supports Some Features of C++2a

2018-05-16 19:002070
用户头像

发布了 1008 篇内容, 共 389.8 次阅读, 收获喜欢 344 次。

关注

评论

发布
暂无评论
发现更多内容

图解:什么是多租户?

快乐非自愿限量之名

服务器 多租户

一文彻底弄懂MySQL优化之深度分页

不在线第一只蜗牛

MySQL 数据库

望繁信科技出席2022浦东国际人才港论坛,获颁最具潜力的海归创业团队大奖

望繁信科技

数字化转型 流程挖掘 流程资产 流程智能 望繁信科技

OceanBase数据库结合ETLCloud快速实现数据集成

RestCloud

数据库 分布式存储 ETL 数据集成 oceanbase

实时分析,快速迭代 —— 商品信息监控助力商家持续优化产品

技术冰糖葫芦

API 接口 API 测试 API 协议

DevSecOps在数字政府建设中的实践研究

不在线第一只蜗牛

大数据 DevSecOps

现在才投简历还来得及吗?

王磊

精彩回顾|2024 ACDU 中国行·上海站成功举办!

墨天轮

数据库 sql 国产数据库 KaiwuDB

SQL Server 可观测最佳实践

观测云

SQL Server

AI安全智能体,重塑网络安全新范式

云起无垠

人工智能 | 智谱 AI 大模型

测吧(北京)科技有限公司

测试

SD-WAN 跨国专线的应用场景

Ogcloud

SD-WAN SD-WAN组网 跨国组网 SD-WAN国际专线 国际网络专线

AI PC“加菜”了,双十一最值得关注的10款酷睿Ultra 200V AI PC

E科讯

AI 原生时代,更要上云:百度智能云云原生创新实践

Baidu AICLOUD

云原生 智能化 大模型

Google 类 Computer Use 项目:贾维斯计划;字节 PersonaTalk 视频配音框架能保持口型与风格同步

声网

淘宝商品评论API返回值中的物流与评价关联分析

技术冰糖葫芦

API 接口 API 测试 API】 API 协议

Python实现微博舆情分析的设计与实现

快乐非自愿限量之名

Python

RabbitMQ的Overview Totals是空

codists

RabbitMQ 编程人 codists

有人问我:过去一年用 AI 写了多少代码

阿里云云效

阿里云 云原生 通义灵码

OPPO式出海,为全球化讲一个“落地生根”的故事

脑极体

AI

技术分享 | 大语言模型增强灰盒模糊测试技术探索

云起无垠

技术解析丨加速高性能计算,RDMA 在分布式存储中的性能优化实践

焱融科技

AI 高性能存储 RDMA MLPerf

软件测试学习笔记丨selenium处理下拉框

测试人

软件测试

go高并发之路——本地缓存

EquatorCoco

Go 缓存 开发语言

天谋科技成为先进操作系统创新联盟智能制造协同创新实验室成员单位,出席揭牌仪式

Apache IoTDB

有人问我:过去一年用 AI 写了多少代码

阿里巴巴云原生

阿里云 云原生 通义灵码

豆包MarsCode AI 红人创造营启动,参与活动赢万元现金激励!

豆包MarsCode

10分钟搞定软件架构决策

俞凡

架构

EasyRecovery破解版下载无需注册,easyrecovery数据恢复软件免费版激活码密钥

阿拉灯神丁

Easyrecovery破解 恢复软件 数据恢复软件 EasyRecovery16 破解软件

云智慧透视宝:率先适配华为原生鸿蒙的APM,为用户体验保驾护航

云智慧AIOps社区

APM 应用性能管理 应用性能监控

精准操控,稳如磐石:飞控+综控系统仿真揭秘

DevOps和数字孪生

飞管飞控

GCC 8.1支持C++2a的部分特性_开源_Sergio De Simone_InfoQ精选文章