ahocat 发表于 2009-06-03 14:38

gcc对C99标准实现了多少?

程序里写了这样一句:

for (int i = 0; i < 100; ++i)
    ......


用gcc编译通不过,才知道原来gcc还不支持在for语句里声明循环变量。

不禁有点奇怪,这个特性似乎不算很“变态”吧,为什么gcc还没有实现呢?
我用的是gcc 4.2.1。不知道更高版本是不是实现了?

c99中还有哪些特性gcc没有实现呢?

edigar 发表于 2009-06-03 14:53

报告楼主,编译通过运行正常
RHE4AS
gcc3.4.6

MMMIX 发表于 2009-06-03 14:55

原帖由 ahocat 于 2009-6-3 14:38 发表 http://bbs2.chinaunix.net/images/common/back.gif
程序里写了这样一句:

for (int i = 0; i < 100; ++i)
    ......


用gcc编译通不过,才知道原来gcc还不支持在for语句里声明循环变量。

gcc 默认用的是 C89 加 GCC 自己对 C 的扩展,你要用 C99 特性,要加上 -std=c99

langue 发表于 2009-06-03 15:20

http://gcc.gnu.org/c99status.html

ahocat 发表于 2009-06-03 17:07

太奇怪了,我用FreeBSD7.2里带的gcc4.2.1就是不行。
OpenSolaris里的gcc3.4.2是可以的。

难道FreeBSD里的GCC有什么不同?
To: MMMIX兄,我是加了-std=c99参数的。

ahocat 发表于 2009-06-03 17:24

昏倒,原来那一行不小心敲了个全角空格。是我的错:em15:

lsupper 发表于 2009-06-03 20:31

回复 #6 ahocat 的帖子

我说呢,怎么可能不支持声明呢~~~汗,吓我!
页: [1]
查看完整版本: gcc对C99标准实现了多少?