写点什么

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

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

关注

评论

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

焱融科技入选“2022 中关村国际前沿科技创新大赛”大数据与云计算领域 TOP10

焱融科技

文件存储 分布式文件存储 获奖

Kubernetes监控 Harbor

CTO技术共享

开源 签约计划第三季 8月月更

大模型落地实践:同花顺大模型技术应用及优化

澜舟孟子开源社区

人工智能 自然语言处理 预训练模型

在小程序中SVG的打开方式

Geek_99967b

小程序 SVG

Redis 介绍

武师叔

8月月更

数读海南数字经济 | 2022海南数字经济发展指数发布

易观分析

数字经济 经济 海南

什么密码,永远无法被黑客攻破?

Authing

地址标准化服务AI深度学习模型推理优化实践

阿里云大数据AI技术

深度学习

程序员培训班哪家教的比较好

小谷哥

权威发布! 开发人员需要关注的11种顶级恶意软件

SEAL安全

网络安全 软件安全 恶意软件 软件供应链安全

HADOOP学习笔记之HDFS

薛定谔的猫

hadoop hdfs

兆骑科创海内外高层次人才大赛平台,双创赛事活动举办

兆骑科创凤阁

聊聊阻容降压原理 和 实际使用的电路

矜辰所致

电路设计 8月月更

直播短视频源码——直播与短视频之间的区别如何解决

开源直播系统源码

软件开发 短视频源码 直播系统源码 直播源码 一对一视频聊天系统

leetcode 23. Merge k Sorted Lists 合并K个升序链表(困难)

okokabcd

LeetCode 数据结构与算法 栈和队列

易观分析:2022年Q2中国跨境进口零售电商市场规模为1171.0亿元

易观分析

报告 跨境进口 零售电商市场

零基础web前端学习靠谱吗

小谷哥

学大数据需要具备什么基础知识点?

小谷哥

java课程学习难度怎么样

小谷哥

产品说明丨 iOS端使用 MobPush 快速集成方法

MobTech袤博科技

ios sdk MobTech袤博科技 mobpush

头脑风暴:一和零

HelloWorld杰少

算法 LeetCode 数据结构, 8月月更

大数据开发课程靠谱吗?

小谷哥

Kubernetes Ingress 控制器讲解

CTO技术共享

开源 签约计划第三季 8月月更

Kubernetes Crossplane VCluster构建新集群

CTO技术共享

开源 签约计划第三季 8月月更

免费云管平台有吗?咨询电话多少?

行云管家

云计算 企业上云 云管平台

StarRocks 在 58 集团全业务线的深度实践

StarRocks

数据库

开源一夏 | Java"实现"svn文件对比

六月的雨在InfoQ

svn 开源 文件对比 8月月更

基于SpringBoot的OnlineMusicPlayer项目

bug郭

签约计划第三季 8月月更

技术分享| 视频传输Simulcast与Svc

anyRTC开发者

音视频 Simulcast Svc 视频传输

兆骑科创创投平台,创赛承办,投融资对接,项目落地孵化

兆骑科创凤阁

PHP 项目对接视频号原来如此简单,小白也能轻松完成【带附件】

CRMEB

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