当前位置: 首页 > news >正文

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 程序生成高效的目标代码。

相关文章:

  • 再学GPIO(一)
  • Java 设计模式
  • deepSeek浅谈对vue的mixin的理解,用于什么应用场景?
  • Vue3 通过Vue3-Print-Nb在线工单打印 模板打印 自定义打印 打印下载
  • 660SJBH企业信息管理系统
  • SPL 量化 复权数据
  • uniapp跨平台开发---动态控制底部切换显示
  • 【WEB3】web3.0是什么
  • Android开发中svg转xml工具使用
  • ‌sd - 批量修改文本文件的命令和软件工具
  • 深入理解编程中的同步与异步:原理、区别及实战应用
  • 基于边缘人工智能的AI无人机-更高效更安全的飞行任务执行
  • 【SpringMVC】概念引入与连接
  • EKS环境下服务重启50X错误
  • 小白学习java第16天(上): javaWeb
  • LLM开发——基于DeepSeek R1 和 Qwen 构建智能检索增强生成系统
  • STM32(M4)入门:定时器延时与系统滴答(价值 3w + 的嵌入式开发指南)
  • Java大厂面试:互联网医疗场景中的Spring Boot与微服务应用
  • 【应用密码学】实验二 分组密码(2)
  • 获取电脑mac地址
  • 中国纪检监察报刊文:要让劳动最光荣成为社会的崇高风尚
  • 从 “沪惠保” 到 “沪骑保”看普惠保险的 “上海样式”
  • 兵韬志略|美菲“肩并肩”军演超越传统范畴,凸显防务合作重大转型
  • “冲刺万亿城市”首季表现如何?温州领跑,大连GDP超徐州
  • 最高法知产庭年度报告:民事案件二审发回重审率持续下降
  • 四川:全省统一取消普通住宅和非普通住宅标准