一切都在标题中,我搜索了很多但是找不到使用我的编译器的标准是C89 C90 C99还是C11 ......我的意思是当我们没有指定-std选项时(默认选项) ?
答案 0 :(得分:6)
如有疑问,请参阅文档。 gcc man-page清楚地表明-std=gnu89
是C代码的默认值,-std=gnu++98
是C ++代码的默认值。这些选项的含义在手册页中进行了描述,更详细地说,在also available online的广泛信息文档中进行了描述。
这些标志的默认值之前已经更改,并且会再次更改,因此最好在假定特定值之前进行检查。
<强>更新强>
这些年来,默认值发生了变化。自2019年2月发布的GCC 8.3.0起,C的the default标准为-std=gnu11
,C ++为-std=gnu++14
。当然,请查看您实际使用的编译器版本的documentation。
答案 1 :(得分:4)
gcc附带了大量文档。
输入info gcc
并阅读&#34;标准&#34;手册的一部分。
对于最近的编译器(可以追溯到几年前),默认值为-std=gnu90
,它实现了1990 ISO C标准(相当于1989 ANSI C标准)和一些特定于GNU的扩展。
(我指的是网络上的gcc手册,但是会记录最新版本,而不是您正在使用的版本。我认为您的文档版本与您所使用的版本相同。重新使用。)