【AICon】AI 基础设施、LLM运维、大模型训练与推理,一场会议,全方位涵盖! >>> 了解详情
写点什么

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

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

关注

评论

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

二分法求平方根,swift面向协议编程protocol从入门到精通、《格局》吴军著读后感、John 易筋 ARTS 打卡 Week 27

John(易筋)

collection ARTS 打卡计划 格局 吴军 李嘉图定律 面向协议protocol编程

真零基础Python开发web

MySQL从删库到跑路

Python django Web bottle

助推城市智慧化!正舵者携手中科院演绎区块链魅力

CECBC

区块链 人工智能

第五周作业

晴空万里

极客大学架构师训练营

架构师训练营第九周课程笔记及心得

Airs

架构师训练营 1 期第 9 周:性能优化(三)- 总结

piercebn

极客大学架构师训练营

能源区块链研究|区块链与核电安全

CECBC

区块链 核电

第九周作业

极客大学架构师训练营

秒杀系统

橘子皮嚼着不脆

【架构师训练营】第九周作业:性能优化

MindController

秒杀系统

【架构师训练营第 1 期 09 周】 学习总结

Bear

极客大学架构师训练营

技术选型总结一

Mars

技术选型

架构师训练营 week5 课后作业

花果山

极客大学架构师训练营

架构师训练营第二期 Week 5 总结

bigxiang

极客大学架构师训练营

第9周作业1

Yangjing

极客大学架构师训练营

第9周作业2

Yangjing

极客大学架构师训练营

JVM垃圾回收原理,秒杀系统架构方案

garlic

极客大学架构师训练营

架构师训练营 week5 学习总结

花果山

极客大学架构师训练营

【喜讯】Apache DolphinScheduler 荣获 “2020 年度十大开源新锐项目”

代立冬

Apache 大数据 开源 DolphinScheduler Apache DolphinScheduler

架构师训练营第 9 周作业

netspecial

极客大学架构师训练营

InfoQ 写作平台的魔力

Yolanda

5G+工业互联网的中国登山队,如何攀跃“产业化”山峦?

脑极体

Week 9 作业01

Croesus

Java 中常见的细粒度锁实现

rookiedev

Java 多线程 细粒度锁

Week5 作业1

Sean Chen

架构师 01 期,第九周课后作业

子文

架构师训练营第 9 周课后练习

叶纪想

极客大学架构师训练营

架构师训练营第二期 Week 5 作业

bigxiang

极客大学架构师训练营

应届秋招生,熬夜吃透华为架构师这份‘典藏级’计算机网络+计算机操作系统,成功上岸腾讯

网络协议 编程之路 计算机知识

大数据和Hadoop平台介绍

MySQL从删库到跑路

大数据 hadoop

Netty源码解析 -- 对象池Recycler实现原理

binecy

Netty 对象存储 高性能

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