Linux Gcc编译错误(转载)

时间:2024-01-05 11:35:32

转自:http://www.linuxidc.com/Linux/2012-01/52153.htm

Linux系统下的c编程与Windows有所不同,如果你在用gcc编译代码的时候提示‘for’ loop initial declarations are only allowed in C99 mode,可能就是因为你在loop循环比如for中使用未预先定义的变量,比如:

for(int i=0;i<10;i++)

{

}

这种写法在vc里是没有错的,而子gcc就会提示错误,要求遵守c89标准,c89标准是不支持上述写法的。如果你非要这么写可以这样编译,使用c99标准:

gcc helo.c -std=c99 -o hello

当然,你也可以先定义i变量。

int i;

for(i=0;i<10;i++)

{

}

这样再编译就不会再提示‘for’ loop initial declarations are only allowed in C99 mode这样的错误了