主要几个发行版的 gcc 对 c++ 新标准的支持情况区别

纯自用总结,无任何技术含量,

结论是,基本没区别。。。。

目前常用的系统:

debian系的

与centOS7对应的 ubuntu14.04LTS

g++ (Ubuntu 4.8.4-2ubuntu1~14.04.1) 4.8.4

最新的16.04LTS

g++ (Ubuntu 5.3.1-10ubuntu2) 5.3.1 20160225

---------------------------------------------------

查看redhat系列的版本:

cat /etc/redhat-release

CentOS Linux release 7.1.1503 (Core)

公司使用centOS6.3 的:

g++ (GCC) 4.4.7 20120313 (Red Hat 4.4.7-16)

太老了,逐步迁移出来ing,不看也罢。

公司使用centOS7.1 的:

g++ (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4)

未来几年内主要使用的生产平台

-----------------------------------------------------

g++从4.8开始支持--std=c++11 (c++1x = c++11,1y=14,1Z=17)

14.04 4.8.4

cent7 4.8.5

4.8.0 thread_local

[[noreturn]] void f(); 属性器语法

alignas(double) int i; alignment specifier

inheriting constructors:

struct A { A(int); };

struct B: A { using A::A; }; // defines B::B(int)

B b(42); // OK

4.8.1 decltype ref-qualifiers

4.9   ISO C11 : _Atomic <stdatomic.h> _Generic _Thread_local __auto_type

C++1y   :decltype(auto)

[[deprecated]]

lambda capture initializers

[x = 42]{ ... };

digit separators

generic (polymorphic) lambdas.

libstdc++:std::make_unique

16.04 5.3.1 ISO C11 : default mode for C is now -std=gnu11 instead of -std=gnu89

c++14   : variable templates

extended constexpr

g++5最重要的:

A new implementation of std::string is enabled by default, using the small string optimization instead of copy-on-write reference counting.

A new implementation of std::list is enabled by default, with an O(1) size() function;

难以置信list坚持不缓存size,直到5.0版本。。。。。

Full support for C++11, including the following new features:

std::deque and std::vector<bool> meet the allocator-aware container requirements;

movable and swappable iostream classes;

support for std::align and std::aligned_union;

type traits std::is_trivially_copyable, std::is_trivially_constructible, std::is_trivially_assignable etc.;

I/O manipulators std::put_time, std::get_time, std::hexfloat and std::defaultfloat;

generic locale-aware std::isblank;

locale facets for Unicode conversion;

atomic operations for std::shared_ptr;

std::notify_all_at_thread_exit() and functions for making futures ready at thread exit.

时间: 2024-07-28 16:17:00

主要几个发行版的 gcc 对 c++ 新标准的支持情况区别的相关文章

安装jdk1.9后报 Error:java: 无效的源发行版: 1.9

现象: intillj IDE 运行main方法 Information:javac 1.8.0_101 was used to compile java sources Error:java: 无效的源发行版: 1.9 环境:新安装的jdk1.9 mac ,intillj IDE 原因:目录下存在多个jdk版本版本,maven 编译版本不对 解决:删除多余版本,并更新maven 1.新安装jdk后需要修改intillj IDE 中的java compile 为jdk1.9 2.如果是maven

浅谈Linux桌面(发行版及桌面环境)

Part I: 前言 笔者2018年接触Linux(当时还是学校机房的Ubuntu 14.04 LTS),至今已经有2个年头了. 折腾了至少十几个Linux发行版,包括但不限于: ubuntu.Debian.Red Hat.CentOS.Fedora.Manjaro.deepin.Arch Linux.Gentoo(没装成功).Linux Mint.MX Linux.Elemantary OS.KDE neon...... (好像忘记openSUSE了) 折腾了这么久,从一名连命令行都不知为何物

【Linux相识相知】计算机的组成、linux发行版和哲学思想、基础命令和目录结构

从今天开始,Frank将开始在博客上记录自己学习linux的点点滴滴,F初来乍到,还望各位大佬多多指教.本次博客的主要内容如下: 计算机基础:简要的描述了计算机的组成及其功能: linux初识:介绍了linux主流的发行版,说明了不同的发行版之间的区别和linux的哲学思想,列出了linux发行版的基础目录名称命名法则及功能规定: 基础命令:详细介绍一些基础的命令,并就如何在linux系统上获取命令的帮助做出了解释. 一.计算机的组成及其功能 计算机主要是由5个部分组成 控制器(Control)

全球最受欢迎的十大Linux发行版(图)

帮助新的Linux用户在越来越多的Linux发行版中选择最合适的操作系统,是创建这个网页的原因.它列出了迄今为止最流行的10个Linux发行版(另外增加的是FreeBSD,到目前为止最为流行的BSD系统),通常被视为世界各地的Linux用户最广泛推荐的. 没有数字能够完全统计还有许多 其他的发行版可能更好适合您的特定目的,但作为一般规则,所有这些发行版都很受欢迎,有非常活跃的论坛或邮件列表,你可以问任何问题.Ubuntu, Linux Mint 和PCLinuxOS 被认为是不必掌握其复杂性的L

Linux命令之lsb_release - 查看当前系统的发行版信息

用途说明 lsb_release命令用来查看当前系统的发行版信息(prints certain LSB (Linux Standard Base) and Distribution information.).有了这个命令就可以清楚的知道到底是RedHat的.还是别的发行版,还有具体的版本号,比如3.4还是5.4等等.有些系 统上不一定安装了这个命令,可以通过查看/etc/issue文件得到发行版信息. 常用参数 格式:lsb_release 格式:lsb_release -v 查看LSB本身的

1-19Linux发行版

转载请说明出处:http://www.cnblogs.com/zaifeng0108/p/7364484.html GNU: 源码:编译成为 二进制格式 gcc glibc vi linux 发行版:数百种之多 Debian ubuntu mint knopix Slackware S.u.S.E SLES OpenSUSE RedHat Redhat 9.0 RedHat Enterprise Linux: RHEL CentOS: Community ENTerprise OS Fedora

Linux内核版本 uname命令 GNU项目 Linux发行版

1.内核版本由linux内核社区统一编码和发布,格式如下图: major.minor.patch-build.desc 主版本号.次版本号.对次版本号的修订次数-编译次数.当前版本的特殊信息 次版本号有奇数和偶数之分,奇数表示开发版,偶数表示稳定版 desc:常见参数EL(Red Hat企业版Enterprise Linux).pp(Red Hat测试版).fc(Red Hat中Fedorca Core).smp(对称多处理器).rc/r(候选版本,后面的数字越大越接近正式版) 2.uname

Linux命令lsb_release:查看当前系统的发行版信息

Linux里的lsb_release命令用来查看当前系统的发行版信 息(prints certain LSB (Linux Standard Base) and Distribution information.).有了这个命令就可以清楚的知道到底是RedHat的.还是别的发行版,还有具体的版本号,比如3.4还是5.4等等.有些系 统上不一定安装了这个命令,可以通过查看/etc/issue文件得到发行版信息. 常用参数 格式:lsb_release 格式:lsb_release -v 查看LSB

基于Debian的Linux发行版安装深度音乐及其插件

在Linux上想要一个完美的,并且能够在线的音乐播放器是很头疼的事情.找了很久,还是觉得Deepin的深度音乐是非常不错的选择.不仅可以播放本地,还可以安装很多插件,包括网易云,百度音乐等等. 下面我介绍一下,基于Debian的Linux发行版安装深度音乐及其插件的方法 我的Linux发行版是Linux mint17.3,其它版本请自行测试 一.安装深度音乐 1.添加深度源 主要是存在一些依赖的问题,所以需要添加深度源 基于ubuntu可以直接执行 sudo add-apt-repository