[解決済み] std=c++11と-std=gnu++11の違いは何ですか?
2022-04-27 03:32:42
質問
とはどのような違いがあるのでしょうか?
-std=c++11
と
-std=gnu++11
をgccやclangのコンパイルパラメータとして使うことはできますか?同じ質問で
c99
と
gnu99
? C++とCの規格については知っていますが、私が興味を持ったのはパラメータの違いです。
どこかのサイトで、いくつかの拡張機能が関係していると読んだことがあるのですが、どれがそうなのか、新しいプロジェクトでどちらかを選ぶにはどうしたらいいのか、私にはよくわかりません。
解決方法は?
ご自身でもお分かりのように、この2つのオプションの違いは、C++の標準に違反/拡張するGNU拡張を有効にするかしないかです。GNU C++の拡張は次のように記述されています。
こちら
. また、ほとんどのGNU C拡張機能(
こちら
) をC++プログラムで使用することができます。 について読んでおくと便利でしょう。
-Wpedantic
GCCオプション
ここで
.
を使用しても、一部の拡張機能は有効であることに注意してください。
-std=c++11
標準に反しない限りは。たとえば、MinGWコンパイラを使うとき、動作するように拡張機能が必要です。
Boost.Lexical_Cast
. しかし、それらを一切使用しない限りは、拡張機能なしの標準にこだわった方が、移植性を最大限に高めることができるのです。これは、コンパイラを変更せざるを得なくなったときに便利かもしれません。
関連
-
[解決済み】C++ - 解放されるポインタが割り当てられていないエラー
-
[解決済み】Cygwin Make bash コマンドが見つかりません。
-
[解決済み】C++の余分な資格エラー
-
[解決済み] [Solved] インクルードファイルが開けません。'stdio.h' - Visual Studio Community 2017 - C++ Error
-
[解決済み】C++ - 適切なデフォルトコンストラクタがない [重複]。
-
[解決済み] explicit キーワードの意味は?
-
[解決済み] 要素ごとの加算は、結合ループよりも分離ループの方がはるかに高速なのはなぜですか?
-
[解決済み] コピーアンドスワップ慣用句とは?
-
[解決済み] スマートポインターとは何ですか?
-
[解決済み】C/C++の"-->"演算子とは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C++エラー。アーキテクチャ x86_64 に対して未定義のシンボル
-
[解決済み】coutはstdのメンバではない
-
[解決済み] [Solved] Error C1083: Cannot open include file: 'stdafx.h'
-
[解決済み】C++コンパイルタイムエラー:数値定数の前に期待される識別子
-
[解決済み】変数 '' を抽象型 '' と宣言できない。
-
[解決済み] 既に.objで定義されている-二重包含はない
-
[解決済み】Visual C++で "Debug Assertion failed "の原因となる行を見つける。
-
[解決済み] 非静的データメンバの無効な使用
-
[解決済み】1つ以上の多重定義されたシンボルが見つかる
-
[解決済み】浮動小数点数の乱数生成