2015-03-03 41 views
12

我安裝了gcc 4.9.2。我使用下面的命令編譯的程序:gcc編譯選項之間的區別std = C++ 1y和std = C++ 14

/root/gcc-4.9.2/bin/g++ -std = C++ 1Y testing.cpp

注意,除了選項「-std = C++ 1y「,還有另一個選項」-std = C++ 14「。編譯器是否會以相同的方式工作,併爲兩個選項生成完全相同的可執行文件? 謝謝!

+1

https://gcc.gnu.org/onlinedocs/gcc/C- Dialect-Options.html#index-std-108 – 2015-03-03 06:49:49

+0

感謝limecore的解釋,並感謝Marc提供的鏈接,其中指出C++ 1y和C++ 14是「2014 ISO C++標準和修正案」,名稱爲'c + + 1y'已棄用。「 – ysrhung 2015-03-03 07:07:33

回答

17

C++ 14是最新的ISO標準,並應使用,除非你需要一些GCC非標準功能

C++ 1Y是被用來指C++ 14標準是前名完成,所以它很可能遵守標準的草案,但不是實際的標準本身。可以存在兩個之間的一些微小的差異,但C++ 14是ISO標準

總之,使用C++ 14

相關問題