【QCon】精华内容上线92%,全面覆盖“人工智能+”的典型案例!>>> 了解详情
写点什么

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

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

关注

评论

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

直播预告:云智能分支(Cloud Smart Branch)网络运维研究

阿里巴巴 阿里云

🎅Less快速学习(上)🎅

空城机

CSS 大前端 less 11月日更

盲盒app开发源码搭建小程序app

Python Qt GUI设计:QMainWindow、QWidget和QDialog窗口类(基础篇—10)

不脱发的程序猿

PyQt GUI设计 QMainWindow QWidget QDialog

HAProxy适配openGauss使用指导书

openGauss

DB4AI:使能数据库原生AI计算,助力数据湖场景业务成功

openGauss

进化政企智能化,华为WeAutomate 3.0重磅发布

模块四作业

panxiaochun

架构实战营

直播预告:云智能分支(Cloud Smart Branch)方案介绍和演示

阿里巴巴 阿里云

openGauss社区理事会正式成立!3大运营商、7大头部银行等18家理事单位加入

openGauss

patroni For openGauss高可用方案基本原理

openGauss

openGauss内存管理初探

openGauss

OpenInfra基金会年度用户调查报告已出炉!OpenInfra软件应用需求激增

【网络安全】这份近200页应急响应文档,帮助了不少安全逆子

网络安全学海

网络安全 信息安全 渗透测试 WEB安全 安全漏洞

自定义View:ViewGroup与View的事件传递

Changing Lin

11月日更

2021年10月云短信报告出炉,腾讯云蝉联冠军

博睿数据

直播预告:智能云分支(Cloud Smart Branch)场景和解决方案介绍

阿里巴巴 阿里云

华为发布5G专网集成与边缘DC解决方案2.0,奏响5G toB大合唱

虚拟办公、虚拟展会、虚拟偶像,RTE+XR 还能做什么?

声网

人工智能 vr Metaverse

架构实战营模块6课后作业:小程序电商业务微服务

胡颖

架构实战营

腾讯WeTest即将亮相MTSC2021中国互联网测试开发大会

WeTest

网络安全之浏览器端的威胁要塞防御

喀拉峻

网络安全 安全 信息安全

一文搞定前端错误捕获和上报

GrowingIO技术专栏

Web js 数据采集 错误处理

Windows音频引擎架构汇总

grolier

Windows 音频引擎

OpenMLDB 11 月份社区会议纪要

第四范式开发者社区

第四范式 开源社区 OpenMLDB 机器学习数据库

用户任务三步法:教你读懂用户

石云升

11月日更 产品创新

阿里云 EventBridge 事件驱动架构实践

阿里巴巴云原生

阿里云 云原生 事件驱动 事件驱动架构 EventBridge

Android C++系列:Linux文件IO操作(二)

轻口味

c++ android jni 11月日更

openGauss以科技加速走向高效,低碳环保之路

openGauss

助力政企自动化自然生长,华为WeAutomate RPA是怎么做到的?

盲盒开发盲盒小程序源码搭建app

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