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

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 程序生成高效的目标代码。
http://www.xdnf.cn/news/2619.html

相关文章:

  • FastAPI中使用Pydantic进行数据验证的示例与关键技术点分析
  • java Optional
  • 【vLLM 学习】CPU 离线处理
  • 通俗易懂一文讲透什么是 MCP?
  • 坐标转换:从WGS-84到国内坐标系(GCJ-02BD-09)
  • 大语言模型 - 运行、微调的显存计算详解与优化 全量微调、LoRA 优化策略
  • windows安装docker教程
  • PTA -L1-005 考试座位号(BufferedReader、Arraylist动态数组、Map)
  • 记录一下从debian12升级到debian13出现的小插曲01
  • C++翻转数相乘 2024年信息素养大赛复赛 C++小学/初中组 算法创意实践挑战赛 真题详细解析
  • shell编程基础知识及脚本示例
  • Android源码编译命令详解
  • 基于 Amazon RDS 数据库之间复制数据并屏蔽个人身份信息
  • 写读后感的时候,可以适当地引用书中的内容吗?
  • 【JavaGUI】
  • 边缘函数:全栈开发的最后1毫秒性能革命
  • MQTT - MQTT 实践(Windows EMQX、MQTTX、客户端认证、连接与主题)
  • ES练习册
  • Java多线程实现顺序执行
  • [计算机科学#3]:布尔逻辑 (计算机数学基础)
  • Python第三周作业
  • 语音合成之八-情感化语音合成的演进路线
  • [ECCV 2024]UMBRAE: Unified Multimodal Brain Decoding
  • 赞奇AIknow是什么?
  • 2025年8月PMP考试费用上涨?8月PMP考试费用解析!
  • 电力系统失步解列与振荡解析
  • 基于知识库的智能客户服务工具
  • Tailwind CSS 实战:基于 Kooboo 构建企业官网页面(二)
  • runtimeChunk的作用
  • Servlet (简单的servlet的hello world程序)