HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

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

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

关注

评论

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

Ubuntu下开启php调试模式报错如何解决

百度搜索:蓝易云

探索淘宝API接口:高效网络爬虫数据抓取策略

代码忍者

API 接口 pinduoduo API

哪些项目管理工具值得考虑?10款详细介绍

爱吃小舅的鱼

项目管理工具

python模拟Y2K问题

极客罗杰

如何制定有效的项目资金管理策略?

爱吃小舅的鱼

项目管理 审计 项目资金

VMware Tanzu CLI 1.5.0 - VMware Kubernetes 发新版的命令行工具

sysin

Kubernetes Tanzu

如何提升产品经理的项目管理能力

爱吃小舅的鱼

项目管理 产品经理

SpringBoot 实战:文件上传之秒传、断点续传、分片上传

江南一点雨

VMware vCenter Server 6.7U3w (安全更新) - ESXi 集中管理软件

sysin

vSphere vcenter

VMware vSphere 6.7 Update 3w 下载

sysin

vSphere vcenter esxi

HCL AppScan Standard 10.7.0 发布下载,新增功能介绍

sysin

AppScan

项目管理平台哪个好?9款优质系统推荐

爱吃小舅的鱼

项目管理 项目管理工具 项目管理软件

ROS进阶:使用URDF和Xacro构建差速轮式机器人模型

梦笔生花

机器人 ROS2 UDRF

需要高效管理项目?2024年9款在线项目管理工具推荐

爱吃小舅的鱼

项目管理工具

Metasploit Pro 4.22.5-2024102801 发布下载,新增功能简介

sysin

Metasploit

8 个最佳的开源任务管理系统(附打分)

NocoBase

开源 低代码 任务管理 无代码 任务管理系统

x86平台运行arm64平台docker镜像

百度搜索:蓝易云

CentOS7安装Nginx+ModSecurity

百度搜索:蓝易云

Quartz 集群增强版入门指南:轻松上手

代码忍者

AI技术在司库管理中的革新实践与未来趋势

用友智能财务

财务 AI技术 全球司库 司库

12.享元模式设计思想

杨充

【喜报】矩阵起源在2024年中国创新创业大赛斩获多个奖项!

MatrixOrigin

AI 大底座 创新创业大赛

MatrixOne v2.0.0 release note

MatrixOrigin

数据库 矩阵起源 MO

2024项目管理平台推荐:9个值得关注的工具

爱吃小舅的鱼

研发管理中和项目管理的资源配置难题

爱吃小舅的鱼

项目管理 研发管理

php+mysql实现补齐24小时时间段同时赋值0的后端解决方案

百度搜索:蓝易云

Astherus:基于真实收益,唤醒 LRT 赛道的第二春

股市老人

如何成为优秀的项目管理者

爱吃小舅的鱼

项目管理

PHP排序函数使用方法,按照字母排序等操作

百度搜索:蓝易云

成功备考集成项目管理工程师的实用技巧

爱吃小舅的鱼

集成项目管理工程师

释放创作潜力!Flux 模型现已集成至 ComfyUI,快来体验!

MatrixOrigin

数据库 AI 大底座 AI 图像生成

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