科技
首个 GCC 16 正式版发布:默认开启 C++20,支持英特尔 Nova Lake 与 AMD Zen 6
IT之家 5 月 3 日消息,作为 GNU 编译器套件(GCC)16 系列的首个稳定版,GCC 16.1 已于当地时间 4 月 30 日正式发布,标志着该编译器进入了全新的里程碑。 本次更新最显著的变化是 C++ 前端默认语言标准从原来的 GNU C++17 切换为 GNU C++20,这意味着开发者在不手动指定标准的情况下,将默认使用 C++20 规范。此外,GCC 16 现已将 C++20 运行库(libstdc++)相关组件标记为非实验性,整体稳定性大幅提升。 在 C++ 语言特性方面,GCC 16.1 引入了对多项 C++26 功能的实验性支持。在底层性能与矢量化(Vectorizer)方面,GCC 16 展现了更强的灵活性。 本次发布还新增了一个实验性的 Algol 68 编译器前端 ga68。根据 GCC 项目组的说明,该前端旨在实现《修订报告》(Revised Report)中所描述的 Algol 68 语言,包括经 IFIP WG2.1 下属 Algol 68 支持小组批准的勘误内容,同时实现了部分 GNU 扩展和一套 POSIX 预定义环境。 编译器诊断功能迎来多项改进。GCC 16.1 现已支持以实验性 HTML 格式输出诊断信息,SARIF 输出中新增了控制流信息。旧版的 JSON 诊断格式已被移除,官方推荐需要机器可读诊断输出的用户改用 SARIF 格式。 在硬件支持方面,x86 架构新增了针对 AMD Zen6 的支持,同时加入了 Intel Wildcat Lake 和 Nova Lake 的编译选项。 对于 x86-64 平台,新版本在开启 AVX512 支持时,会自动尝试使用掩码矢量余弦(Epilog)来优化代码大小与性能。而在 GPU 卸载计算方面,OpenMP 与 OpenACC 针对 AMD Instinct MI300 等设备的启动开销也得到了大幅缩减。 另外,GCC 16.1 还为龙芯 LoongArch 架构新增了函数多版本技术(Function Multi-Versioning)支持,可通过 target_clones 属性为不同 CPU 特性(IT之家注:如 LSX、LASX)生成多个函数版本,并在运行时自动选择最优版本。 参考资料: 《GCC 16 Release Series — Changes, New Features, and Fixes- GNU Project》
IT IT之家更新于 3小时前1 分钟阅读
IT之家 5 月 3 日消息,作为 GNU 编译器套件(GCC)16 系列的首个稳定版,GCC 16.1 已于当地时间 4 月 30 日正式发布,标志着该编译器进入了全新的里程碑。 本次更新最显著的变化是 C++ 前端默认语言标准从原来的 GNU C++17 切换为 GNU C++20,这意味着开发者在不手动指定标准的情况下,将默认使用 C++20 规范。此外,GCC 16 现已将 C++20 运行库(libstdc++)相关组件标记为非实验性,整体稳定性大幅提升。 在 C++ 语言特性方面,GCC 16.1 引入了对多项 C++26 功能的实验性支持。在底层性能与矢量化(Vectorizer)方面,GCC 16 展现了更强的灵活性。 本次发布还新增了一个实验性的 Algol 68 编译器前端 ga68。根据 GCC 项目组的说明,该前端旨在实现《修订报告》(Revised Report)中所描述的 Algol 68 语言,包括经 IFIP WG2.1 下属 Algol 68 支持小组批准的勘误内容,同时实现了部分 GNU 扩展和一套 POSIX 预定义环境。 编译器诊断功能迎来多项改进。GCC 16.1 现已支持以实验性 HTML 格式输出诊断信息,SARIF 输出中新增了控制流信息。旧版的 JSON 诊断格式已被移除,官方推荐需要机器可读诊断输出的用户改用 SARIF 格式。 在硬件支持方面,x86 架构新增了针对 AMD Zen6 的支持,同时加入了 Intel Wildcat Lake 和 Nova Lake 的编译选项。 对于 x86-64 平台,新版本在开启 AVX512 支持时,会自动尝试使用掩码矢量余弦(Epilog)来优化代码大小与性能。而在 GPU 卸载计算方面,OpenMP 与 OpenACC 针对 AMD Instinct MI300 等设备的启动开销也得到了大幅缩减。 另外,GCC 16.1 还为龙芯 LoongArch 架构新增了函数多版本技术(Function Multi-Versioning)支持,可通过 target_clones 属性为不同 CPU 特性(IT之家注:如 LSX、LASX)生成多个函数版本,并在运行时自动选择最优版本。 参考资料: 《GCC 16 Release Series — Changes, New Features, and Fixes- GNU Project》
本文仅展示摘要与 AI 分析。完整原文请点击上方“阅读原文”访问来源网站。