【发布时间】:2012-02-15 08:04:33
【问题描述】:
应该设置哪些 GCC 选项以使 GCC 尽可能严格? (我的意思是尽可能严格)我正在使用 C89 编写代码,并且希望我的代码符合 ANSI/ISO。
【问题讨论】:
-
严格来说,您应该清楚您所针对的标准。 ANSI X3.159-1989 和/或 ISO/IEC 9899:1990、ISO/IEC 9899:1999 或来自 ISO/IEC 工作组 (open-std.org/JTC1/SC22/WG14) (JTC1/SC22/WG14) 的“C1X”。 ANSI C 和 ISO C90 仅在标准本身的部分编号不同 AFAIK
-
@mctylr:“我正在用 C89 写作”似乎非常清楚。
-
严格来说,C89 不符合 ANSI/ISO。当前的 ISO C 标准是 2011 年发布的标准;这也是当前的 ANSI C 标准; 1989、1990 和 1999 标准已正式过时。但这只是措辞上的狡辩。仍然广泛支持 C89/C90(超过 C99),即使它不再是官方标准,您仍然可以遵守它。
-
@KeithThompson 我不确定是否有隐含的 latest 如“...希望我的代码是 latest ANSI/ISO标准投诉”。