【发布时间】:2010-12-21 18:32:43
【问题描述】:
我应该使用哪些 gcc 选项来强制执行 ANSI C (C99) 警告/错误? gcc (GCC) 3.4.2 (mingw-special)
我正在使用: gcc -pedantic -ansi -std=c99 这是正确的吗?
【问题讨论】:
-
ANSI 于 1989 年发布了最初的 C 标准。ISO 于 1990 年发布了相同标准的版本,ANSI 正式采用了该版本。 ISO 在 1999 年和 2011 年发布了该标准的新版本,而 ANSI 已经采用了它们中的每一个,使早期版本正式过时。令人困惑的是,术语“ANSI C”仍然通常(并且错误地)用来指代 1989/1990 版本定义的语言,而
gcc -ansi仍然指的是那个版本。我建议术语“ANSI C”是模棱两可的,应该避免。请参阅 C89/C90、C99 或 C11。