Sizin de öğrendiğiniz gibi, iki seçenek arasındaki fark, C ++ standardını ihlal eden / genişleten GNU uzantılarının etkin olup olmadığıdır. GNU C ++ uzantıları burada açıklanmıştır . Ayrıca C ++ programlarınızda GNU C uzantılarının çoğunu ( burada açıklanmıştır ) kullanabilirsiniz. Ayrıca okumak faydalı olacaktır -Wpedantic
GCC seçeneği burada .
-std=c++11
Standartla çelişmedikleri sürece, bazı uzantıların kullanım sırasında hala geçerli olabileceğini unutmayın . Örneğin, MinGW derleyicisini kullanırken, bir çalışma için uzantılara ihtiyacım var Boost.Lexical_Cast
. Ancak, hiçbirini kullanmadığınız sürece, maksimum taşınabilirlik için uzantılar olmadan standarda bağlı kalmak daha iyidir. Kendinizi derleyiciyi değiştirmek zorunda bulursanız bu kullanışlı olabilir.
gnu
uzantılara atıfta bulunur ve taşınabilir kod yazmak istiyorsanız, bir standarda bağlı kalmalı ve uzantılardan tamamen kaçınmalısınız.