C17とは、どのような言語で、どのような変化があったのでしょうか。
質問内容
GCC 8についてのニュースをチェックしていたとき、私は を見ました。 を見ると、2017年版のC言語(C++17ではなく、本当にC17)のサポートが追加されていました。しかし、インターネット上でそれに関する情報を見つけることができません。
それは C11 のような新しい ISO バージョンですか、それとも単に GCC チームが彼らのコンパイラのいくつかの修正のために使用するコードネームですか?
どのように解決するのですか?
によると
GCC
のリファレンスを参照してください。
C17
は実際には
バグフィックス版
の
C11
規格に DR 解像度を統合したものです。
C17
,
C11 規格のバグフィックス版で、DR [Defect Report] の解決策を持つ。
が統合された
がまもなく投票にかけられます。 このパッチでは、対応する
オプションが追加されます。
-std=c17
,
-std=gnu17
(新しいデフォルトバージョン。
-std=gnu11
をデフォルトにしたもの)。
-std=iso9899:2017
. バグフィックス版として
は必要ありません。
flag_isoc17
のオプションは必要ありません。
互換性警告のためのオプションは必要ありません。
__STDC_VERSION__
の値があるので、新しい cpplib 言語は
CLK_GNUC17
と
CLK_STDC17
が追加され
が追加され、その新しい値を新しいオプションで使用することをサポートします。 (もし規格が
が2018年に発行され、それが
C18
と呼ばれるようになれば、オプションのエイリアス
を追加することができます。 ただし
-std=iso9899:199409
に対応するのは
__STDC_VERSION__
の値に対応します(出版日ではありません)。
(GCCで実装する必要があるDRの決議がいくつかありますが、それは新しいオプションとは無関係です)。 それは新しいオプションとは無関係です)。
つまり、C17 に含まれる新機能はありません。
は Cppreference (Cの歴史) に書いてあります。
今後の展開
C17 次のマイナーな C 言語標準の改訂では、受理されたすべての C11 欠陥報告を含みますが 新機能はありません。 .
UPDATEです。
<ブロッククオート[DR 400】です。] , [DR 401】のように] , [DR 402】のように] , [DR 403】のように] , [DR 404] , [DR 405】のように] , [DR 406】のように] , [DR 407】のように] , [DR 410】のように] , [DR 412】のように] , [DR 414】を参照してください。] , [DR 415】を参照してください。] , [DR 416】のように] , [DR 417】のように] , [DR 419】のように] , [DR 423】のように] , [DR 426】のように] , [DR 428】のように] , [DR 429】のように] , [DR 430】のように] , [DR 431】のように] , [DR 433】のように] , [DR 434】のように] , [DR 436】のように] , [DR 437】のように] , [DR 438】のように] , [DR 439】のように] , [DR 441】のように] , [DR 444】のように] , [DR 445】のように] , [DR 447】を参照してください。] , [DR 448】のように] , [DR 450] , [DR 452】のように] , [DR 453】のように] , [DR 457】のように] , [DR 458】のように] , [DR 459】のように] , [DR 460】のように] , [DR 462】のように] , [DR 464】のように] , [DR 465】のように] , [DR 468】のように] , [DR 470】を参照してください。] , [DR 471】のように] , [DR 472】を参照してください。] , [DR 473】のように] , [DR 475】のように] , [DR 477】を参照してください。] , [DR 480】のように] , [DR 481】を参照してください。] , [DR 485】を参照してください。] , [DR 487】を参照してください。] , [DR 491】のように]
関連
-
ポインタ定数および定数ポインタ
-
Solve Dev-c++ [エラー] 'for' ループの初期宣言は、C99 または C11 モードでのみ許可されます。
-
[解決済み] C言語では「?」演算子は何をするのですか?
-
[解決済み] C++でextern "C "を使用した場合の効果は?
-
[解決済み] const int*、const int * const、int const *の違いは何ですか?
-
[解決済み] ++iとi++の違いは何ですか?
-
[解決済み] g++とgccの違いは何ですか?
-
[解決済み】C/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 実装 サイバーパンク風ボタン
おすすめ
-
構造体の配列--[エラー] '['トークンの前に一次式があることが予想される
-
g++が内部・外部コマンドソリューションとして認識されない、MinGWを初めて使うときの落とし穴
-
C: 1を求める! + 2! + 3! + ... + n! (ループ)
-
[解決済み] mallocで文字列を確保する
-
[解決済み] C言語の書式指定子 %ul と %lu の違いは何ですか?
-
[解決済み] ⑭と⑯は何のためにあるのですか?
-
[解決済み] char *とchar[]の違い [重複]
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] C言語でランダムなint型を生成するには?
-
[解決済み] .aファイル、.soファイルとは何ですか?