Last modified: Wednesday, May 14, 2025

gccのデフォルトC言語規格

gcc, C language

gccと書かれた鞍を背負ったヌー(gnu).ChatGPTで生成

Image generated by ChatGPT

GNU GCC (The GNU Compiler Collection)[外部サイト] に含まれるCコンパイラ gcc はいくつかのC言語規格に対応しています。 gccのコマンドラインオプション(-std=)で明示的に C言語規格を指定しなかった場合(デフォルト)のC言語規格は下表のようになります。

より新しい(またはより古い)C言語規格を使いたい場合は、 コマンドラインオプションで明示的に指定する必要があります。

gccの各バージョンとデフォルトのC言語規格の対応関係
gccバージョンリリース日デフォルトのC言語規格
2.95.32001/03/16gnu89 (ISO9899:1990+GNU extensions)
3.0.42002/02/20gnu89 (C89+GNU extensions)
3.1.12002/07/25gnu89 (C89+GNU extensions)
3.2.32003/04/22gnu89 (C89+GNU extensions)
3.3.62005/05/03gnu89 (C90+GNU extensions)
3.4.62006/03/06gnu89 (C90+GNU extensions)
4.0.42007/01/31gnu89 (C90+GNU extensions)
4.1.22007/02/13gnu89 (C90+GNU extensions)
4.2.42008/05/19gnu89 (C90+GNU dialect)
4.3.62011/06/27gnu89 (C90+GNU dialect)
4.4.72012/03/13gnu89 (C90+GNU dialect)
4.5.42012/07/02gnu90 (C90+GNU dialect)
4.6.42013/04/12gnu90 (C90+GNU dialect)
4.7.42014/06/12gnu90 (C90+GNU dialect)
4.8.52015/06/23gnu90 (C90+GNU dialect)
4.9.42016/08/03gnu90 (C90+GNU dialect)
5.52017/10/10gnu11 (C11+GNU dialect)
6.52018/10/26gnu11 (C11+GNU dialect)
7.52019/11/14gnu11 (C11+GNU dialect)
8.52021/05/14gnu17 (C17+GNU dialect)
9.52022/05/27gnu17 (C17+GNU dialect)
10.52023/07/07gnu17 (C17+GNU dialect)
11.52024/07/19gnu17 (C17+GNU dialect)
12.42024/06/20gnu17 (C17+GNU dialect)
13.32024/05/21gnu17 (C17+GNU dialect)
14.22024/08/01gnu17 (C17+GNU dialect)
15.12025/04/25gnu23 (C23+GNU dialect)

C言語規格の指定

gcc-2.95.3までは -fstd= オプションで指定する。 gcc-3以降は -std= オプションで指定する。


関連リンク


布目 淳@京都工芸繊維大学コンピュータシステム研究室 (nunome@kit.ac.jp)