阅读更多

11顶
1踩

编程语言

原创新闻 GCC 4.7 正式发布,支持C/C++11的更多特性

2012-03-23 11:29 by 副主编 wangguo 评论(0) 有23798人浏览
GNU 项目今天发布了GCC 4.7 正式版本。


GCC(GNU Compiler Collection,GNU编译器套装),是一套由 GNU 开发的编程语言编译器。GCC 使用 GPL 与 LGPL 许可证,是 GNU 计划的关键部分。GCC 目前可处理 C++、Fortran、Pascal、Objective-C、Java以及 Ada 等语言。现在是 Linux/Unix、Mac 等操作系统的标准编译器。

该版本在4.6.x的基础上,进行了大量的改进,现在C、C++和Fortran编译器支持3.1版本的OpenMP规范(用于共享内存并行系统的多线程程序设计的一套指导性注释)。该版本还针对各个语言进行了功能改进,主要包括:

针对C的功能改进

  • 支持ISO C11标准中的更多特性。除了之前的-std=c1x和-std=gnu1x选项外,GCC现在还支持-std=c11和-std=gnu11选项。
针对C++的功能改进

  • G++现在支持-std=c++11、-std=gnu++11和-Wc++11-compat选项,这些选项的作用相同。
  • 实现了C++11的extended friend语法。
  • 实现了C++11的重写控制。
  • 实现了C++11的非静态数据成员初始化。
  • 实现了C++11的用户定义数据标识。
  • 实现了C++11的别名声明。
  • 实现了C++11的委托构造函数。
针对运行时库(libstdc++)的改进

  • 实验性地支持新的ISO C++11标准。
  • 增加了--enable-clocale=newlib配置选项。
  • 用于无序关联容器的调试模式迭代器。
  • 通过包含<unistd.h>来避免破坏全局命名空间。
针对Go语言的改进

  • 现在GCC实现了Go1语言标准,目前对于Go的支持尚不完全,预计将在4.7.1版本中进行改善。
  • Go已经在GNU/Linux和Solaris平台上进行了测试,在其他平台中也可能会很好地运行。
关于改进的详细信息可参阅:GCC 4.7 Changes

使用GCC 4.7的一些注意事项:

  • 一些针对旧系统的支持功能以及最近没有被维护或检验的GCC目标端已经被放弃,在下个版本中将会永久删除这些代码。
  • AVR端的libgcc已得到改善,它的multilib架构得到了增强。因此,所有应用程序的对象必须在GCC 4.6.x或4.7.0中进行编译。
从之前GCC版本迁移至4.7版,可参阅:迁移指南

GCC 4.7下载http://gcc.gnu.org/mirrors.html

  • 大小: 10.7 KB
11
1
评论 共 0 条 请登录后发表评论

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • C ++ 11中多线程Linux服务器的事件驱动网络库-C/C++开发

    Muduo是基于React堆模式的多线程C ++网络库。 http://github.com/chenshuo/muduo版权所有(c)2010,Shuo Chen。 版权所有。 此源代码的使用受BSD样式许可证的约束,可以找到Muduo是基于React堆模式的多线程C ++网络...

  • centos 安装 gcc4.7 以支持 c++ 11

    于是先整个支持C++11的编译器先 以下转载自:http://www.cnblogs.com/linbc/archive/2012/08/03/2621169.html lambda表达式,想说爱你不容易。STL为我们提供了很多算法,却没有提供匿名函数,真是罪过...

  • c++11/14/17新特性

    C++语言从1983年正式诞生以来,经历了多次的修订与改版,主要从包含两个大的节点,一是1998年,C++语言正式被C++标准委员会纳入标准,二是2011年,C++语言新增了许多新的特性,大大提升C++语言的实用性。可以把C++...

  • 性能工具之 C/C++ 分析工具 valgrind

    其实对 C/C++ 的应用来说,查看函数时间调用和内存消耗调用的有很多工具,valgrind 这个工具算是做得比较不错的一个。建议直接用 yum 安装,有的说可以安装更新的版本,像我这种不喜欢各种找依赖条件的,就直接 yum ...

  • 解决Qt中GCC支持C++11标准问题

    想必看到这篇博客的人都是奔着问题来的,所以这里就不做关于...在2011年9月份,C++0x正式由官方发布并命名C++11,现在很多编译器已经支持了部分C++11特性。 C++11包括大量的新特性:主要特征像lambda表达式和移动语...

  • 用于 Visual Studio Code 的 C/C++ 支持(预览版)

    用于 Visual Studio Code 的 C/C++ 扩展(预览版)1. 开始2. 编辑代码2.1 代码格式化2.2 自动完成3. 导航代码3.1 指定附加 include 目录以获得更好的符号支持3.2 搜索符号3.3 Peek Definition3.4 Go to Definition4....

  • GCC4.7编译记录

    GCC4.7编译记录 说明: GCC4.7前段时间release了,这里记录一下编译GCC4.7的过程,以供查阅。 依赖: 编译GCC除了一些基本的编译工具如make、gcc等GNU工具之外,还有几个基本的依赖库:mpc,...

  • C/C++入门学习

    C++博客 C++小白笔记: 每一个知识点都用具体的例子来推理表达 适合人群:刚入手c++的人,也可以作为资料来查找,每个知识点很详细,很容易理解,理论表达较少,侧重用语言实现。 1.简单的c++程序 1.1简单的C++...

  • 在centos6.2下编译gcc4.7

    前两天买了C++标准库自学教程与参考手册第二版,里面介绍了C++11标准,所以需要一个支持大部分11标准的编译器,我的centos6.2下还是gcc4.4.7,需要将其升级到4.7,发现下面的方法很简单使用,然后转之。 说明:编译...

  • 各编译器对C++11的支持比较

    度,以便在下个版本中加入更多的 C++11 元素。这里还列出了在不支持的时候,可以采 的替代方案。主要参考了 C++11 Features in Visual C++ 11 , Status of Experimental C++0x port in GCC 4.6 , Status of ...

  • C++ 编译器对C++11、14、17的支持情况

    这些功能特性包括C++11、C++14、C++17和之后接受的标准版本 (C++20/C++2a),还有几个技术规范的内容。 C++2a 功能特性 注意,此列表可能根据 C++2a 标准草案的演化而更改。 C++2a 功能特性 提案 ...

  • C/C++ 之 C发展史及 各标准特性说明

    Tips:  1. 本人当初学习C/C++的记录。...C++有一个众所周知的特性:对C语言的高度兼容。这样的兼容性不仅体现在程序员可以较为容易地将C代码“升级”为C++代码上,也体现在C代码可以被C++的编译器所...

  • GCC4.7 和C++11

    支持ISO C11标准中的更多特性。除了之前的-std=c1x和-std=gnu1x选项外,GCC现在还支持-std=c11和-std=gnu11选项。 针对C++的功能改进 G++现在支持-std=c++11、-std=gnu++11和-Wc++11-compat选项,这些...

  • Qt/C++原创项目作品精选(祖传原创/性能凶残/界面精美)

    从事Qt开发十年有余,一开始是做C#.NET开发的,因为项目需要,转行做嵌入式linux开发,在嵌入式linux上做可视化界面开发一般首选Qt,当然现在可选的方案很多比如安卓,但是十多年前那时候板子性能低,安卓在这个上面...

  • c++11 string u8_C++11编译器的支持

    一直以来我都挺喜欢编译的,这次移植hprose对编译器的特性有了更深一些的了解。首先是检测编译器对C++0x和C++11的支持。C++0x定义了:#define __cplusplus 1#define __GXX_EXPERIMENTAL_CXX0X__ 1C++11定义了:#...

  • C++ | 手把手带你从C语言到C++

    以上代码定义了一个名叫zhangsan的命名空间,该命令空间有三个成员,分别声明了一个整型a,一个字符型c和一个函数Swap;注意:命名空间不可定义在函数和类的内部int main()int a = 0;int& ra1;// err 未初始化// ...

  • linux升级gcc版本详细教程

    linux系统中升级gcc版本详细教程。

  • c++ 编译器支持情况表

    下表为各个编译器对新的 C++ 功能特性的支持情况。这些功能特性包括C++11、C++14、C++17和之后接受的标准版本 (C++20/C++2a),还有几个技术规范的内容。 C++2a 功能特性 注意,此列表可能根据 C++2a 标准草案的...

  • 错误使用 mex 未找到支持的编译器。您可以安装免费提供的 MinGW-w64 C/C++ 编译器 关于matlab随机森林工具箱安装---以2016b为例

    关于matlab随机森林工具箱安装---以2016b为例 错误使用 mex 未找到支持的编译器。您可以安装免费提供的 MinGW-w64 C/C++ 编译器

  • 60道关于Redis的常见面试题.pdf

    - 1. 什么是 Redis?它的主要特点是什么? - 2. Redis 支持哪些数据结构?请详细描述每种数据结构的用途和特点。 - 3. 什么是缓存穿透?在使用 Redis 时,如何防止缓存穿透? - 4. 介绍 Redis 的持久化机制以及对比它们之间的区别。 - 5. 如何实现 Redis 的分布式锁?你了解的分布式锁有哪些实现方式? - 6. Redis 的数据淘汰策略有哪些?分别是如何工作的? - 7. 什么是 Redis 事务?它是如何实现的?与传统数据库事务有何不同? - 8. 如何设置 Redis 的主从复制?主从复制有什么优势和限制? - 9. Redis 支持的数据结构中,有哪些可以实现计数功能?请详细说明其使用场景。 - 10. 什么是 Redis Sentinel?它的作用是什么?如何配置和使用 Sentinel?

Global site tag (gtag.js) - Google Analytics