我怎样才能弄清楚我的C编译器GCC使用的默认标准是什么? [重复]

问题描述 投票:3回答:2

这个问题在这里已有答案:

一切都在标题中,我搜索了很多,但无法找到使用我的编译器的标准是C89 C90 C99还是C11 ...我的意思是当我们没有指定-std选项(默认选项)?

c gcc c99 c11 c89
2个回答
6
投票

如有疑问,请参阅文档。 gcc man-page清楚地表明-std=gnu89是C代码的默认值,而-std=gnu++98是C ++代码的默认值。这些选项的含义在手册页中进行了描述,更详细地说,在also available online的广泛信息文档中进行了描述。

这些标志的这些默认值之前已更改,并将再次更改,因此最好在假定特定值之前进行检查。

UPDATE 这些年来,默认值发生了变化。从2019年2月发布的GCC 8.3.0开始,C的the default标准是-std=gnu11-std=gnu++14标准是C ++。当然,请查看您实际使用的编译器版本的documentation


4
投票

gcc附带了大量文档。

输入info gcc并阅读本手册的“标准”部分。

对于最近的编译器(可以追溯到几年前),默认值为-std=gnu90,它实现了1990 ISO C标准(相当于1989 ANSI C标准)和一些特定于GNU的扩展。

(我会指向网络上的gcc手册,但这会记录最新版本,而不是您正在使用的版本。我认为您的文档与您正在使用的版本相同。)

© www.soinside.com 2019 - 2024. All rights reserved.