zoukankan      html  css  js  c++  java
  • GCC4.7 和C++11

    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

    MinGW也更新到了4.7.0了,下载是这里:http://sourceforge.net/projects/mingw/?source=directory

  • 相关阅读:
    String Kernel SVM
    基因组印记
    用Js的eval解析JSON中的注意点
    struts2中<s:select>标签的使用
    如何在Linux中使用cron命令
    怎样解决MySQL数据库主从复制延迟的问题
    PMON failed to acquire latch, see PMON dump
    java中对List中对象排序实现
    C语言typedef关键字
    企业级内部信息统一搜索解决方案
  • 原文地址:https://www.cnblogs.com/fangying7/p/2565360.html
Copyright © 2011-2022 走看看