“ANSI C”或“ANSI C”今天仍然意味着什么吗?

“ANSI C”或“ANSI C”今天仍然意味着什么吗?,第1张

概述上次我检查过,说你在ANSI C编码等于说“这是符合C99标准的代码而没有别的东西”.现在有了C11和C 11,这种区别仍然存在吗?它还有某种含义吗? 历史上,“ANSI C”用于表示“标准C”,即C89,与“K& R C”和编译器 – 编写者发明的各种预标准变体形成对比.这就是第二版的原因. “C编程语言”的封面上有一个大的红色“ANSI C”标记. 然后一段时间“ISO C”用于表示“新标准C 上次我检查过,说你在ANSI C编码等于说“这是符合C99标准的代码而没有别的东西”.现在有了C11和C 11,这种区别仍然存在吗?它还有某种含义吗?解决方法 历史上,“ANSI C”用于表示“标准C”,即C89,与“K& R C”和编译器 – 编写者发明的各种预标准变体形成对比.这就是第二版的原因. “C编程语言”的封面上有一个大的红色“ANSI C”标记.

然后一段时间“ISO C”用于表示“新标准C”,即C99,与“ANSI C”形成对比.

这总是令人困惑的用法,因为ISO和ANSI都批准了C89和C99. ISO批准了前者作为C90,并在ANSI版本中发布了一些布局变化,但据称具有相同的实质内容.因此“ANSI C”始终是ISO标准,“ISO C”始终是ANSI标准.唯一的区别是哪个机构监督标准化过程.

遵循这种用法(并可能鼓励它继续),GCC的-ansi标志等同于-std = c90.它的上下文实际上意味着“C90,加上一些不与标准冲突的GNU扩展”.

我不知道“ANSI C”指的是C99,但这并不意味着它没有被用来表示.

我不认为使用术语“ANSI C”在过去十年中帮助过任何人. ANSI批准了C11,但开始说“啊哈!在这种情况下,ANSI C突然现在意味着C11!”就没有用了.我们当然可以说C11是当前的ANSI C标准,但是术语“ANSI C”不能用于任何合理的期望,人们会清楚地将其理解为C11.

总结

以上是内存溢出为你收集整理的“ANSI C”或“ANSI C”今天仍然意味着什么吗?全部内容,希望文章能够帮你解决“ANSI C”或“ANSI C”今天仍然意味着什么吗?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/1238530.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-06
下一篇 2022-06-06

发表评论

登录后才能评论

评论列表(0条)

保存