![](/img/trans.png)
[英]Why do I get the same sequence for every run with std::random_device with mingw gcc4.8.1?
[英]-std default value for GCC4.8.1
如果在使用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,...)。
2018年更新:在最新版本的gcc中, -std
的默认选项现在是-std=gnu++14
。
从gcc标准 2.2 C ++语言
如果没有给出C ++语言方言选项,则默认为-std = gnu ++ 98。
因此,如果要启用C ++ 11功能,则必须添加选项-std=c++11
或-std=gnu++11
(对于带有GNU扩展的C ++ 11)
从手册页:
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会发生什么。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.