【发布时间】:2010-02-08 17:33:44
【问题描述】:
我正在使用gcc (Ubuntu 4.4.1-4ubuntu9) 来编译我正在编写的程序,但是每当它在我的代码中看到 // 注释时它似乎会呕吐,说:
interface.c :##: error: expected expression before â/â token<
我使用的gcc编译模式是否禁止// cmets?
$ gcc -g -ansi -pedantic interface.c structs.h -c -I. -I/home/me/project/h
为什么?
【问题讨论】:
-
重要的是要认识到术语“ANSI C”通常(并且错误地)用来指代 1989 年 ANSI C 标准所描述的语言。该标准被 1990 年的 ISO C 标准(描述相同的语言)取代,并被 1999 年和 2011 年的 ISO C 标准取代。 ANSI 在发布后正式采用了所有三个 ISO C 标准。所以严格来说,“ANSI C”指的是 ISO C 2011——更清楚地称为“ISO C”。旧标准仍然具有相关性,但按年份(C89/C90、C99、C11)引用它们会更清楚。
-
ANSI C可以指任何美国采用的ISO C...所以ANSI ISO/IEC 9899:2011是ANSI C的一种形式...但是通常的理解是 ANSI C 是 ANSI X3.159-1989,它先于 ISO C
标签: c