这个新版本的GCC编译器 几天前提供了新功能和错误修复。
根据GNU GCC项目小组的说法,这个新版本 9.1版是主要的编译器版本 包含GCC 8.x或更早版本中不可用的重要新功能。 GCC 9.1应该带来新的语言功能,该软件的新优化和一些性能改进。
关于海湾合作委员会
GCC 是一个编译器集合 由GNU项目创建。 它更确切地说是一个免费软件 能够编译各种编程语言,包括C,C ++,Objective-C,Java,Ada和Fortran。
还应该注意的是 用于开发大多数自由软件。 最新的主要编译器版本可以追溯到2018年8.1月的XNUMX版。
红帽开发人员Jakub Jelinek解释说,GCC 8.1代表了一个主要版本,它带来了重要的新功能,这些新功能在GCC 7.x和早期版本的GCC中不可用。
至此,C ++前端已使用-std = c ++ 2a和-std = gnu ++ 2a选项为某些C ++ 2a函数提供了实验性支持。
在8.2版的总体增强级别中,已修复了在创建大型二进制文件期间由于分区算法溢出而导致的LTO(链接时间优化)性能问题。
去年8月,编译器版本8.3继续在8.2.x分支中进行修复。 此版本是一个错误修复版本,与早期版本的GCC相比,该版本包含GCC XNUMX中用于回归的补丁。 GCC团队于3月9日推出了新分支,发布了版本XNUMX。
GCC 9.1中有哪些新功能?
在这个版本中 由于不再体验编译器版本17,因此引入了C ++ 8.1支持l。 因此,对C ++ 17的支持现已稳定。
的界面 C ++实现了C ++ 17的全部语言 对C ++标准库的支持即将完成。
El 前端和C ++库还具有从C ++ 2a编码的许多其他功能。 此外,GCC具有D语言的新界面,现在部分支持OpenMP 5.0,并且几乎完全集成了对OpenACC 2.5的支持。
对于许多人来说,GCC 9是编译器的强大版本,它提供了强大的功能和增强功能以提高开发人员的性能。
GCC 9.1的许多新功能包括:
- 支持编译使用D编程语言编写的代码;
- 新的AMD GCN GPU后端已添加到GCC。 目前,该实现仅限于编译单线程程序。
- 现在默认情况下为ARC目标启用LRA。 可以通过-mlra进行控制。
- 添加了对图像代码以及分支和索引密度语句的支持。
- 在GCC中添加了新的针对C-SKY V2处理器的后端。
- 英特尔MPX支持已被删除。
- 为OpenRISC处理器支持添加了新的后端。
- 对OpenACC 2.5规范的支持几乎已经完成。
- 现在,GCC的内部“自测”包可用于C ++和C(在编译器的调试版本中)。
- GCC中的Fortran支持也得到了改进。 现在,它可以处理异步I / O和其他功能。
- 过程间优化(OPI),基于配置文件的优化,链接时间优化(LTO)以及许多其他优化,以确保更好的代码质量。
- 与GCC 66相比,八核计算机上的Firefox 6.2.3和LibreOffice 8的总编译时间减少了大约5%。 LTO目标文件的大小减少了8.3%。
- 在11台核心计算机上,LTO链接时间缩短了8%,并且在更并行的构建环境中发展迅速。 链接时间优化的串行阶段加快了28%,消耗的内存减少了20%。 现在,Parallel Stage可以对128个分区进行分区,而不是32个分区,并且每个用户的内存使用量减少30%。
- 引入了新选项“ -fdiagnostics-format = json”,用于以机器可读格式进行诊断。
数据来源: https://gcc.gnu.org