为了让开发者用到***的、稳定版本的开发工具,Red Hat 每年会发布两次编译器工具箱、脚本语言、开源数据库等工具的更新。这些产品被封装为 Red Hat 软件集合(脚本语言、开源数据库、Web工具等),Red Hat 开发工具箱(GCC)以及最近添加的编译器工具箱 Clang / LLVM、Go 和 Rust。这些都是可以通过 yum 安装的,并且包含在大多数 Red Hat 企业版 Linux 和所有开发者订阅中。大多数 Red Hat 软件集合和 Red Hat 开发人员工具箱组件也可作为 Linux 容器映像用于 Red Hat 企业版 Linux、OpenShift 容器平台等的混合云开发。
新增和更新的编译器工具箱如下:
新版本 GCC 编译器工具箱:带 GCC 7.3 的 Red Hat 开发者工具箱
这是 GCC 7 ***的稳定上游更新,鼓励开发者工具箱(DTS)用户更新到 DTS 7.1。
***的 GNU 编译器集合主要版本 GCC 7.3 带来了大量的新功能,包括对当前 C ++ 17草案的实验性支持,更好的诊断和改进的优化器,以及许多新的内部和程序间的优化。就诊断而言,GCC 7 带来了改进的定位、位置范围,对拼写错误的标识符的建议,选项名称,修复提示和新警告。
DTS 7适用于以下体系结构:
-
x86_64 (RHEL 6 & 7 )
-
ppc64le (RHEL 6)
-
aarch64 (RHEL 6)
-
s390x (RHEL 6)
在哪里可以找到其他版本的 GCC 和 DTS?
-
DTS 6.1 has GCC version 6.3
-
DTS 4.1 has GCC version 5
-
(There is no DTS 5)
-
RHEL7 has GCC version 4.8
-
RHEL6 has GCC version 4.4
-
Updated DTS tools in DTS 7
Linux 容器映像:rhscl-beta / devtoolset-7-toolchain-rhel7
新版本的 Clang 和 LLVM 编译器工具箱:Clang 和 LLVM 5.0
Clang 是“LLVM原生”C / C ++ / Objective-C 编译器,旨在提供惊人的快速编译、非常有用的错误和警告消息,并为构建优秀的源代码级工具提供平台。 Clang 静态分析器是一个可以自动发现代码中的错误的工具,并且它是使用 Clang 前端作为库来解析 C / C ++ 代码的工具。 LLVM 项目是模块化和可重用的编译器和工具链技术的集合。 LLVM Core 库提供了一个独立于目标的优化器,以及对RHEL CPU体系结构的代码生成支持。
Clang 和 LLVM 工具箱将作为 RHEL 7 的技术预览版发布在开发者工具项目中。鼓励用户使用和评估编译器,但不建议用于生产。
Clang 和 LLVM 工具箱作为 RHEL 7 的技术预览版发布,适用于:
-
x86_64
-
ppc64le
-
aarch64
-
s390x
本发行版包含以下软件包:
-
llvm-toolset-7-llvm
-
llvm-toolset-7-clang
新版本 Go 编译器工具箱:Golang 1.8.7
Go 工具箱的这个发行版引入了新版本的 Golang1.8.7 编译器,供 RHEL 客户和合作伙伴使用。
Go 是富有表现力、简洁、干净和高效的。其并发机制使编写充分利用多核和联网机器的程序变得容易,而其新颖类型系统则可实现灵活的模块化程序构建。快速编译为机器代码,但具有垃圾收集的便利性和运行时反射的能力。它是一种快速、静态类型的编译语言,感觉像是一种动态类型的解释型语言。
目前,RHEL 7 的可选渠道中提供了 Golang 编译器。长期来看,可选项中的编译器将被放弃,以支持开发者工具中的这个新 Go 工具箱。
RHEL 开发人员现在拥有上游 Go 编译器的***稳定版本,可用于 RHEL 7 上的应用程序开发。Go 工具箱将作为技术预览版在开发者工具中发布。鼓励客户使用和评估编译器,但不建议用于生产。
Go 工具箱作为 RHEL 7 的技术预览版发布,适用于:
-
x86_64
-
ppc64le
-
aarch64
-
s390x
包名:go-toolset-7-golang
新版本 Rust 编译器工具箱:Rust 1.24
Rust 工具箱的***个版本基于 Rust 1.20。
Rust 是由 Mozilla 和志愿者社区创建的开源系统编程语言,旨在帮助开发人员创建快速、安全的应用程序,充分利用现代多核处理器的强大功能。它可以防止段错误并确保线程安全,所有这些都以简单易学的语法表达。此外,Rust 还提供零成本抽象、移动语义,保证内存安全,线程无数据竞争,基于特征的泛型,模式匹配,类型推断和高效的 C 绑定,以及最小的运行时大小。
Cargo 是 Rust 的包管理器和构建工具,它允许 Rust 项目声明具有特定版本要求的依赖项。Cargo 将解析完整的依赖图,根据需要下载软件包,并构建和测试整个项目。
Rust 在 RHSCL 3.0(2017年末)添加到 RHEL 开发者工具渠道。
Rust 工具箱作为 RHEL 7 的技术预览版发布,适用于:
-
x86_64
-
ppc64le
-
aarch64
-
s390x
本发行版包含以下软件包:
-
rust-toolset-7
-
rust-toolset-7-rust
-
rust-toolset-7-cargo