2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

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

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

关注

评论

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

即时通讯技术文集(第31期):IM开发综合技术合集(Part4) [共13篇]

JackJiang

网络编程 即时通讯 IM

如何使用代码混淆技术保护移动应用程序安全

如何下载会员视频?推荐使用唐尼downie 4 !

Rose

mac软件下载 视频下载工具 Downie 4 Mac版 Downie 4中文版

云虚拟主机空间优化指南:如何充分利用你的云空间?

一只扑棱蛾子

云虚拟主机

Premiere新手入门教程:Premiere Pro (PR) mac版基础教程合集

Rose

Premiere Pro下载 Premiere教程 PR转场预设

Java AtomicReference

0x5d0de9

Java

虾皮shopee根据ID取商品详情 API (shopee.item_get):利用虾皮shopee API提升电商平台用户转化率与客单价

技术冰糖葫芦

API

Final Cut Pro for Mac(fcpx视频剪辑)v10.7.1 中文版

Rose

你还在“垃圾”调优?快来看看JDK17的ZGC如何解放双手 | 京东云技术团队

京东科技开发者

软件开发

Geek_8da502

智能商品管理系统相比传统商品管理在自动化程度上有哪些优势?

第七在线

软件测试/测试开发/全日制/测试管理丨MongoDB NoSQL数据库

测试人

软件测试

好玩有趣的桌面宠物Desktop Goose for mac

Rose

Desktop Goose mac破解版 mac桌面宠物

Photoshop 2024 崩溃怎么办?

Rose

Photoshop启动时崩溃 PS冻结

零代码集成自动化的实现逻辑是什么?

谷云科技RestCloud

零代码 APPlink

第35期 | GPTSecurity周报

云起无垠

SVN管理工具Cornerstone for mac入门教程

Rose

SVN管理工具 cornerstone 4 破解版 Cornerstone入门教程

康威定律:AI时代的IT组织变革

FN0

AI 软件开发 组织设计

软件测试/测试开发/全日制/测试管理丨Redis内存数据库

测试人

软件测试

EVE-NG强大的网络模拟器和实验平台

小齐写代码

Apache Doris 聚合函数源码阅读与解析|源码解读系列

SelectDB

数据库 大数据 数据仓库 数据分析 apache doris

英文版sketch怎么转为中文,Sketch中英文切换教程

Rose

Mac矢量图设计 Sketch 99 Sketch中英文切换教程

技术菜鸟如何提升自己的能力

老张

个人成长 自动化测试 技术提升

随着 AI 的兴起,Web3 停滞不前丨 RTE 开发者日报 Vol.123

声网

当创建pvc后,kubernetes组件如何协作

华为云开发者联盟

Kubernetes 开发 华为云 华为云开发者联盟

制程架构并驾齐驱,软件硬件双核驱动 英特尔携手合作伙伴兑现AI PC承诺

E科讯

Office 2013-2021专业增强版激活许可证 Mac/win

Rose

office许可证 office下载

将ChatGPT引入企业财务共享服务的探讨与思考

用友BIP

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