gcc中使用的C版本是什么
GCC中使用的C版本是什么?C99、C11还是C90?我以为GCC使用的是C99,但我错了:gcc中使用的C版本是什么,c,gcc,C,Gcc,GCC中使用的C版本是什么?C99、C11还是C90?我以为GCC使用的是C99,但我错了: for(int i = 0; i < 100; i++){ ... } for(int i=0;i使用-STD=99</P> 在C99之前,必须在块的开头定义局部变量。C99导入C++特性,您可以将局部变量定义与指令混合,并且可以在“for”和“the”控制表达式中定义变量。如果使用C99,则使用 GCC—STD= C99 < /Cord>。如果需要C99,请使用 GCC—STD= C99
for(int i = 0; i < 100; i++){
...
}
for(int i=0;i<100;i++){
...
}
错误:仅在C99模式下允许“for”循环初始声明。我认为默认值是
-std=gnu90
。您可以在编译器标志中指定-std=c99
来支持此操作。我相信默认值是-std=gnu90
。您可以在编译器标志中指定-std=c99
来支持此操作。默认情况下gcc
使用C90,这在gcc
文档中都有介绍,此标志为-std=gnu90
:
如果没有给出C语言方言选项,默认值为-std=gnu90;这是为了在将来的某个版本中更改为-std=gnu11
如果您希望C99支持,则应使用-std=C99
,但这并不意味着gcc
将不使用扩展,因此如果您希望在gcc
使用扩展时收到警告,则需要添加-pedantic
和-pedantic errors
将其转化为错误:
要获得标准要求的所有诊断,还应指定-pedantic(或-pedantic errors,如果希望它们是错误而不是警告的话)
默认情况下,
gcc
使用C90,这在gcc
文档中都有介绍,其标志为-std=gnu90
:
如果没有给出C语言方言选项,默认值为-std=gnu90;这是为了在将来的某个版本中更改为-std=gnu11
如果您希望C99支持,则应使用-std=C99
,但这并不意味着gcc
将不使用扩展,因此如果您希望在gcc
使用扩展时收到警告,则需要添加-pedantic
和-pedantic errors
将其转化为错误:
要获得标准要求的所有诊断,还应指定-pedantic(或-pedantic errors,如果希望它们是错误而不是警告的话)
根据:
如果未提供C语言方言选项,则默认值为-std=gnu90
;这是为了在将来的一些版本中更改为-std=gnu11
根据:
如果未提供C语言方言选项,则默认值为-std=gnu90
;这是为了在将来的一些版本中更改为-std=gnu11
使用-std=99
在C99之前,必须在块的开头定义局部变量。C99导入C++特性,您可以将局部变量定义与指令混合,并且可以定义for和For控件表达式中的变量。 < P>使用-STD=99</P>
在C99之前,必须在块的开头定义局部变量。C99导入C++特性,您可以将局部变量定义与指令混合,并且可以在“for”和“the”控制表达式中定义变量。如果使用C99,则使用<代码> GCC—STD= C99 < /Cord>。如果需要C99,请使用<代码> GCC—STD= C99 < /代码>。