GCC 10.1编译器在这里,这是它的主要新颖之处

经过一年的发展 新版本发布了 从免费组 GCC 10.1编译器,这是GCC 10.x新分支中的第一个重要版本。

根据新的版本编号方案,在开发过程中使用了版本10.0,并且在GCC 10.1发布之前不久,已经分支出了GCC 11.0分支,在此基础上将形成下一个版本。GCC 11.1的意义。

对于不熟悉GCC(GNU编译器集合)的用户,您应该知道这是由GNU项目创建的一组编译器是自由软件,由自由软件基金会(FSF)根据GPL通用公共许可证进行分发。

这些编译器广泛用于大多数Unix系统上 在某种程度上,它们被认为是Unix操作系统,开放源代码衍生版本以及专有(例如Mac OS X)的标准。

GCC需要一组称为binutils的应用程序来执行任务,例如识别目标文件或获取其大小以进行复制,翻译或创建列表,链接它们或删除不必要的符号。

GCC 10.1的新功能

GCC 10.1在实现C ++语言的许多创新方面脱颖而出 为C ++ 20标准开发,与将来的C语言标准(C2x)相关的改进, 编译器后端和实验支持方面的新优化 用于静态分析模式。

对于C,C ++和Fortran语言,实现了OpenACC 2.6并行编程规范,它定义了GPU和专用处理器(例如NVIDIA PTX)上的下载工具。

执行标准 开放MP 5.0 (Open Multi-Processing),它定义了在具有共享内存和矢量化单元(SIMD)的多核和混合系统(CPU + GPU / DSP)中使用并行编程方法的API和方法, 它快完成了。

功能已添加为条件表达式 lastprivate,scan和loop指令,order和use_device_addr表达式。 对于OpenMP和OpenACC,它已添加 支持在第XNUMX代和第XNUMX代AMD Radeon GPU上下载。

对于C语言,已添加“访问”功能来描述对通过引用或指针传递的对象的功能的访问,并将这些对象与包含有关对象大小的信息的整数参数关联。

为了与``访问''一起使用,实现了``类型''属性以检测来自用户功能的不正确访问,例如,在将值写入数组边界之外的区域时。 symver属性也已添加,以将ELF文件中的字符链接到特定版本号。

对于C ++,已经实现了约16项更改和创新 以C ++ 20标准开发 包括关键字“ constinit” 添加并实现对扩展模板的支持«概念»这使您可以定义一组模板参数要求,这些要求在编译期间限制了可以用作模板参数的参数集。

进一步 增强了过程间优化, IPA-SRA经过重新设计,可以在绑定期间工作,并且除其他外,现在可以删除未使用的计算值和返回值。

在“ -O2”优化模式下,启用了“ -finline-functions”选项,该选项被重新配置为比性能更紧凑的代码。

它还强调了 增强型链接优化(LTO), s并添加了一个新的可执行文件lto-dump以转储信息 在LTO字节编码的目标文件上。 在LTO并行传递中,可以自动确定并发执行任务的数量,如果无法确定,则可以使用有关CPU内核数量的信息作为并行化因子。

优化机制得到改进 并且基于代码剖析(PGO)的结果,该结果基于对代码执行特性的分析而生成了更优化的代码。

如果您想进一步了解它, 您可以查看此版本的详细信息 在下面的链接中。 


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。