写点什么

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:444557
用户头像
臧秀涛 略懂技术的运营同学。

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

关注

评论

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

四、查询

Kylin

读书笔记 数据库开发 分布式数据库mongodb 读书总结 3月日更

(28DW-S8-Day14) 数据孤岛

mtfelix

28天写作 数据孤岛

《经济学人》2021年3月6日刊精彩文章导读及资源下载

wbliu85

麻木得那么快应不应该——韦伯-费希纳定律

Justin

心理学 28天写作 游戏设计

用户画像实践

Jackchang234987

震撼来袭!2021版全新版Java面试笔记现世,简直把所有Java知识面试题写出来了

Java 架构 面试

Wireshark数据包分析学习笔记Day2

穿过生命散发芬芳

Wireshark 数据包分析 3月日更

LeetCode题解:309. 最佳买卖股票时机含冷冻期,动态规划,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

mysql常用命令

Sakura

进程和nginx

一个大红包

28天写作 3月日更

2021最新分享面试跳槽宝典:互联网大厂Java高级工程师核心面试498题(附解析)

比伯

Java 编程 程序员 架构 面试

搜狐三面:说说你是怎么解决MySQL死锁问题的!

Java架构师迁哥

JAVA学习心得

张鹤羽

28天写作 3月日更

容器 & 服务:K8s 与 Docker 应用集群 (二)

程序员架构进阶

Docker 持续集成 kubernete 服务化 3月日更

在一个操蛋(执行力极差)的团队工作是一种怎样的体验?

冰河

团队管理 程序人生 执行力 问题总结 团队成长

进程调度算法

鲁米

算法

需要对未知保持敬畏「Day 14」

道伟

VMware Workstation

梅花鹿鹿

虚拟机

翻译:《实用的Python编程》03_06_Design_discussion

codists

Python

方法论分享之:刻意练习,微小改进

boshi

方法论 经验分享 七日更

OSPF路由协议基本知识点大全

写作对我来说是什么?

lenka

产品经理 写作 3月日更

表达的时代

ES_her0

28天写作 3月日更

女神节|深情告白季,程序员和他的浪漫

InfoQ写作社区官方

热门活动

【回溯算法】组合总和升级版 ...

宫水三叶的刷题日记

面试 LeetCode 数据结构和算法

程序员成长第二十篇:刚晋升管理者,有哪些方面要注意?

石云升

程序员 28天写作 职场经验 管理经验 3月日更

单点登录(SSO)

一个大红包

SSO 28天写作 单点登录 3月日更

融云CEO韩迎:飞信十年珍贵历练,做To B别有取巧的心思

融云 RongCloud

IM RTC 飞信

政府区块链招投标市场活跃 “区块链+警务”等多元化领域成​方向

CECBC

什么是开放艺术?探讨融合区块链技术的新艺术范式

CECBC

2021最新腾讯面经分享:Java面试刷题PDF(17个专题 5000字解析)

比伯

Java 编程 程序员 架构 面试

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