当前GCC的默认C -std标准版本是什么(尤其是在Ubuntu上?)>

问题描述 投票:56回答:6

当我要求查看cc的当前版本时,我得到了。

$ cc --version
cc (Ubuntu/Linaro 4.7.2-2ubuntu1) 4.7.2
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

$ 

我想知道使用的是c89,c90,c99或c11。

[当我要求查看cc的当前版本时,我得到了。 $ cc --version cc(Ubuntu / Linaro 4.7.2-2ubuntu1)4.7.2版权所有(C)2012 Free Software Foundation,Inc。参见源代码...

c ubuntu gcc c99 c11
6个回答
70
投票

这在gcc手册中有详细解释,可通过键入info gcc或在线here获得(如果已安装)。 4.7.2手册的相关部分为here


19
投票

11
投票

最小测试程序


3
投票

第一行将提供您的GCC版本(4.7.2)


0
投票

需要注意的是,gcc的-std =选项不能用于将编译器“沙盒化”为不支持更高版本的标准C的构造。无论是否有-pedantic,这都是正确的>

如果尝试使用某些C99代码构造进行编译,则不能依赖gcc -std=c89 -pedantic来给您错误或警告。在某些情况下会,在其他情况下不会。例如,即使没有在C99之前添加,它也会很高兴地在printf()调用中编译使用%zu格式说明符的代码。


-2
投票

默认gcc命令是ISO C90的GNU方言(包括某些C99功能)。这是C代码的默认设置。

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