【问题标题】:Are there any differences between ANSI C and ISO C?ANSI C 和 ISO C 之间有什么区别吗?
【发布时间】:2011-05-13 00:55:13
【问题描述】:

我知道 C 语言既有 ANSI 标准,也有 ISO 标准。这两个标准之间有什么区别吗?如果是这样,它们是什么?如果没有区别,那么有两个标准又有什么意义呢?

【问题讨论】:

    标签: c standards c99 c89 ansi-c


    【解决方案1】:

    1990 年,国际标准化组织采用了 ANSI C 标准(稍作修改)作为 ISO/IEC 9899:1990。此版本有时称为 C90。因此,术语“C89”和“C90”本质上指的是同一种语言。

    SourceC99 的情况类似但相反。还有一个C FAQ entry就此事。

    有两个标准的原因很简单:ANSI 是北美标准机构,而 ISO 是国际标准机构。

    【讨论】:

    • 添加然后时间线与 C99 正好相反,C99 在 1999 年成为 ISO 标准,在 2000 年成为 ANSI 标准。在谈论 C 标准时,重要的是要看年份。 :) “ANSI C” 或 “ISO C” 通常指的是 C89;当人们说 C99 时,他们通常会这么说。
    【解决方案2】:

    除了新版本将在 ANSI 等国家标准机构之前由 ISO 批准之外,两者是相同的。但是,常见的不正确用法是“ANSI C”表示 ANSI 在 1989 年标准化的原始语言,而“ISO C”、“ISO C99”或简称为“C99”表示当前标准1999 年被 ISO 采用。

    【讨论】:

    • (我们现在有 C11)
    • ANSI 批准是否总是“反映”ISO 批准?也就是ANSI批准和ISO批准完全一样?
    猜你喜欢
    • 1970-01-01
    • 2013-06-16
    • 2010-09-06
    • 1970-01-01
    • 1970-01-01
    • 2016-06-22
    • 1970-01-01
    • 2010-12-21
    • 1970-01-01
    相关资源
    最近更新 更多