GCC 15.1 发布,包含 COBOL 编译器及多项其他改进
GCC 15.1 已于近日发布,这是 GCC 15 的首个稳定版本。新版本带来了 COBOL 编译器前端、多项 C 和 C++ 语言支持改进、对新 CPU 和 ISA 功能的支持、更强大的 Rust 编程语言支持、调试增强功能等。具体如下:
- 新语言支持:提供了 COBOL 语言前端,使 GCC 能够原生编译 COBOL 代码,为 COBOL 语言在 GNU 平台上的现代化发展铺平了道路。
- C 和 C++ 语言改进:将默认 C 语言版本升级至 C23,C++ 语言的支持也得到了增强,增加了 C++ 23 和 C++ 26 的功能,如更好的模板错误显示等。
- Rust 语言支持增强:针对 gccrs 的多项 Rust 编程语言改进,在兼容性和性能方面都有显著提升。
- 硬件支持优化:针对 AMD Zen 5 “znver5” 处理器进行了改进,并为新的 AMD Zen 目标提供了优化;增加了对 Intel Xeon 7 Diamond Rapids 处理器的支持,为新的 512 位版本提供 Intel AVX10.2 支持,增强了 Intel 高级性能扩展 “APX” 支持,同时移除了对 Xeon Phi 的支持。
- 图形处理器后端改进:AMD 图形处理器的 AMDGPU 后端现在支持标准 C++ 库(libstdc++),并实验性地支持通用设备,停用了 Fiji GPU 支持;搭载 GCC15 的 NVIDIA NVPTX 后端也支持 libstdc++。
- 其他语言前端改进:GCC 中较少提及的 D 语言和 Modula - 2 语言前端以及 Fortran 前端也获得了大量改进,Fortran 前端继续发展,提供了更强大的开发体验。
- 调试和任务管理增强:OpenMP offloading 功能得到增强,引入了调试方面的改进,为开发和在高性能系统上的使用提供了更现代、更灵活的环境。
此外,Fedora 42 已经是首个在生产环境中搭载 GCC 15 的主流 Linux 发行版,使用了接近最终版本的 GCC 151。
GCC 15.1 引入了 COBOL 编译器前端,为 COBOL 语言带来了多方面改进:
1. 编译支持方面
- 原生编译支持:GCC 以往并不支持 COBOL 编译,此次引入 COBOL 编译器前端,使得 GCC 能够原生编译 COBOL 代码。这意味着开发者可以在 GCC 生态下直接对 COBOL 代码进行编译,无需依赖其他专门的 COBOL 编译器,拓展了 COBOL 语言的编译环境选择。
- 集成到 GCC 工具链:将 COBOL 编译集成进了 GCC 强大的工具链中。开发者能利用 GCC 配套的一系列工具,如调试器、性能分析工具等,对 COBOL 程序进行调试和性能优化,提升了开发效率和程序质量。
2. 兼容性与标准化方面
- 遵循标准规范:新的 COBOL 编译器前端会遵循 COBOL 语言的相关标准规范,保证 COBOL 代码在 GCC 下编译的正确性和兼容性。这使得不同来源的 COBOL 代码能够在 GCC 环境中顺利编译运行,降低了因编译器差异导致的兼容性问题。
- 与其他语言互操作性:借助 GCC 的多语言支持能力,COBOL 代码可以更方便地与其他 GCC 支持的语言(如 C、C++ 等)进行交互。例如,在一个大型项目中,COBOL 模块可以与 C 模块无缝集成,实现不同语言模块间的协同工作。
3. 性能与优化方面
- 代码优化:GCC 以其强大的代码优化能力著称,新的 COBOL 编译器前端可以利用 GCC 的优化技术,对 COBOL 代码进行优化。例如,通过优化算法减少代码的执行时间和内存占用,提升 COBOL 程序的性能。
- 目标平台适配:GCC 支持多种目标平台和架构,新的 COBOL 编译器前端也能让 COBOL 程序更好地适配不同的平台。无论是在桌面系统、服务器还是嵌入式设备上,都可以通过 GCC 为 COBOL 程序生成高效的目标代码。