![](/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.