1. ホーム
  2. c

C17とは、どのような言語で、どのような変化があったのでしょうか。

2023-10-29 19:36:26

質問内容

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_GNUC17CLK_STDC17 が追加され が追加され、その新しい値を新しいオプションで使用することをサポートします。 (もし規格が が2018年に発行され、それが C18 と呼ばれるようになれば、オプションのエイリアス を追加することができます。 ただし -std=iso9899:199409 に対応するのは __STDC_VERSION__ の値に対応します(出版日ではありません)。

(GCCで実装する必要があるDRの決議がいくつかありますが、それは新しいオプションとは無関係です)。 それは新しいオプションとは無関係です)。

つまり、C17 に含まれる新機能はありません。

Cppreference (Cの歴史) に書いてあります。

今後の展開

C17 次のマイナーな C 言語標準の改訂では、受理されたすべての C11 欠陥報告を含みますが 新機能はありません。 .

UPDATEです。

<ブロッククオート
  • 2018: C17(ISO/IEC 9899:2018) ( ISO 店) ( 最終案 ) 非推奨の ATOMIC_VAR_INIT の廃止と 以下の不具合報告の修正を含みます。

[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】のように]