GCC 16 破局:C++20 成标配,抢先支持英特尔 Zen 6
GNU 编译器套件(GCC)16 系列迎来了首个稳定版本 GCC 16.1,已于 4 月 30 日正式发布。
此次更新的核心亮点在于 C++ 前端默认语言标准切换至 GNU C++20,开发者无需手动指定即可直接使用 C++20 规范。同时,GCC 16 系列现已将 C++20 运行库(libstdc++)相关组件标记为非实验性,显著提升了其整体稳定性。在 C++ 语言特性方面,GCC 16.1 实验性支持了多项 C++26 功能,并在底层性能与矢量化(Vectorizer)方面展现出更强的灵活性。

在硬件支持上,GCC 16.1 针对 x86 架构新增了对 AMD Zen6 的支持,并加入了 Intel Wildcat Lake 和 Nova Lake 的编译选项。x86-64 平台在启用 AVX512 支持时,将自动优化代码大小与性能。此外,对于 GPU 卸载计算,OpenMP 和 OpenACC 在针对 AMD Instinct MI300 等设备的启动开销方面得到了显著缩减。龙芯 LoongArch 架构方面,新增了函数多版本技术(Function Multi-Versioning)支持,可为不同 CPU 特性生成最优化的函数版本。
针对开发者而言,GCC 16.1 在编译器诊断功能方面也有多项改进,包括实验性 HTML 格式输出诊断信息,SARIF 输出新增控制流信息,并移除旧版 JSON 诊断格式,推荐用户转而使用 SARIF 格式以获取机器可读的诊断输出。本次更新还新增了一个实验性的 Algol 68 编译器前端 ga68。
GCC 16.1 的发布标志着编译器在 C++ 标准支持、底层性能优化以及多架构兼容性上迈入了新阶段,特别是默认启用 C++20 对使用新语言特性的开发者更为友好。