-std GCC4.8.1的默认值

时间:2013-07-30 06:58:49

标签: c++ gcc c++11

如果在使用GCC4.8.1编译我的C ++应用程序时未指定-std选项, 它默认应用c ++ 11值吗?

我读了GCC文件中的文字,但仍然不确定。我的英语不好,所以这可能是我的不好。

  

-fext-numeric-literals(仅限C ++和Objective-C ++)接受虚构,定点或机器定义的文字数字后缀为GNU   扩展。关闭此选项后,将处理这些后缀   作为C ++ 11用户定义的文字数字后缀。默认情况下处于启用状态   对于所有pre-C ++ 11方言和所有GNU方言:-std = c ++ 98,   -std = gnu ++ 98,-std = gnu ++ 11,-std = gnu ++ 1y。默认情况下,此选项在ISO C ++ 11之后关闭(-std = c ++ 11,...)。

2 个答案:

答案 0 :(得分:10)

2018年更新:在最新版本的gcc中,-std的默认选项现为-std=gnu++14


来自gcc standards 2.2 C ++语言

  

如果没有给出C ++语言方言选项,则默认为-std = gnu ++ 98。

因此,如果要启用C ++ 11功能,则必须添加选项-std=c++11-std=gnu++11(对于带有GNU扩展的C ++ 11)

答案 1 :(得分:2)

从手册页:

       c++98
       c++03
           The 1998 ISO C++ standard plus the 2003 technical corrigendum and some additional
           defect reports. Same as -ansi for C++ code.

       gnu++98
       gnu++03
           GNU dialect of -std=c++98.  This is the default for C++ code.

如果有人想知道C ++ 03会发生什么。