写点什么

GCC 4.8 发布,完成向 C++ 的迁移

  • 2013-03-29
  • 本文字数:846 字

    阅读完需:约 3 分钟

GNU 编译器集合(GCC)的最新版本发布,这标志着向C++ 的迁移已经完成。这一过程持续了多年,GCC 团队指出,为了有一个可维护的代码基来吸引并留住新的项目成员,这种迁移是必要的。之所以选择C++ ,部分原因是它是标准化的语言,而且 "支持更干净的代码,更容易编写并保证清晰的接口……尽管这并非灵丹妙药,但相对于基于C 的遗留代码,的确是种改进”。对大部分开发者来说,最终结果不过是,如果有兴趣从源代码构建GCC 4.8,则必须使用支持C++ 2003 的编译器。该版本设计得更为高效,更容易更新,普通用户可以直接受益。

新的编译器特性

首先介绍一下通用的编译器改进,该版本“引入了一个新的通用优化层,既满足了快速编译和极佳调试体验的需要,又保证了合理的运行时性能”。此外,4.8 包含了用于探测内存错误的 AddressSanitizer ,以及支持插入指令检查数据竞争的 ThreadSanitizer 。(ThreadSanitizer 目前只能用于 x86-64 GNU/Linux。)

值得注意的是,该版本还支持 64 位 ARM(AArch64)和 32 位 ARMv8 等架构。

特定于语言的改进

完成了向 C++ 的迁移,这并不是唯一值得赞赏的成绩,编译器在其他一些方面还有不少改进。GCC 目前初步在多种架构上实现了针对 GNU/Linux 和 Solaris 等平台的 Go 1.1 支持。如果使用 Fortran 和 C 进行开发的话,也有一些更新值得研究一番。

C++ 用户会看到如下对 C++11 支持的改进

  • thread_local 关键字
  • attribute 语法
  • 对齐说明符(alignment specifier)
  • 继承构造函数
  • forward_list 满足了能够感知分配器(allocator-aware)的容器这一需求

Clang 3.2 相比,GCC 4.8 对 C++11 的支持也非常不错,而且都领先于最新的 Visual C++ Compiler November 2012 CTP 。新增了编译选项 _-std=c++1y_,支持对下一个主要标准(预计大约在2017 年)提出的特性进行实验,这意味着应对未来C++ 变化的计划已经开始。

C++ 运行时标准库(libstdc++)对 C++11 有了更大的支持,改进了随机数生成器(包括新的 X86 处理器上的硬件支持),并加入了新的随机数分布。

查看英文原文 GCC 4.8 Completes Move to C++

2013-03-29 04:444742
用户头像
臧秀涛 略懂技术的运营同学。

发布了 300 篇内容, 共 150.2 次阅读, 收获喜欢 35 次。

关注

评论

发布
暂无评论
发现更多内容

Nautlius Chain主网正式上线,模块Layer3时代正式开启

鳄鱼视界

B站&华为云 | 融合虚实宇宙,开启云上视听的黄金时代

脑极体

AI B站 华为云

基于Qt编写超精美自定义控件

芯动大师

软件测试 | Java程序的运行机制和Java虚拟机

测吧(北京)科技有限公司

测试

@Lazy 注解为啥就能破解死循环?

江南一点雨

Java spring

揭秘高新技术发展最新趋势,程序猿视角下的技术革新感悟 | 社区征文

三掌柜

年中技术盘点

关于新兴技术对我们生活和工作方式的改变 | 社区征文

fifoaa

年中技术盘点

KCL v0.5.0 重磅发布 - 面向云原生场景更易用的语言、工具链,社区集成和扩展支持

Peefy

开源 DevOps 云原生 编程语言 Kubernetes Serverless

MVCC

陈皮

全加器

陈皮

RocketMQ 事务消息导致事务消息阻塞 BUG 排查

陈皮

RocketMQ bug 事务消息

软件测试 | Java开发环境搭建

测吧(北京)科技有限公司

测试

软件测试 | 一个简单的Java范例

测吧(北京)科技有限公司

测试

2023-07-19:布尔表达式 是计算结果不是 true 就是 false 的表达式 有效的表达式需遵循以下约定: ‘t‘,运算结果为 true ‘f‘,运算结果为 false ‘!(subExpr

福大大架构师每日一题

福大大架构师每日一题

生成式 AI:改变未来的力量| 社区征文

度假的小鱼

年中技术盘点

全部免费!整理了10个Python自动化办公库!(下)

程序员晚枫

Python 工具 机器人 自动化办公

在 Amazon 上以高可用性模式实现 Microsoft SQL 数据库服务现代化的注意事项

亚马逊云科技 (Amazon Web Services)

Amazon

AI大模型应用开发实战营第一周作业

panxiaochun

质效两全:媒体服务的创新“顶设”

阿里云CloudImagine

云计算 视频云

XR应用云流化如何提升扩展现实体验?!

3DCAT实时渲染

实时渲染云 XR应用云流化

百度与软通动力达成战略合作,共同探索大模型产业化落地

彭飞

如何写出一手好代码(上篇-理论储备)?

慕枫技术笔记

后端 7月日更

浅谈大模型时代的后台技术发展|社区征文

后台技术汇

年中技术盘点

软件测试 | 编写第一个Java程序

测吧(北京)科技有限公司

测试

什么是大规模敏捷SAFe?SAFe大规模敏捷管理工具

顿顿顿

敏捷开发 safe 大规模敏捷 scrum工具

GCC 4.8发布,完成向C++的迁移_Linux_Jeff Martin_InfoQ精选文章