专栏首页C语言入门到精通基础知识 | 每日一面(76)

基础知识 | 每日一面(76)

古代的剑客们与

对手相逢时,无

论对手多么强大,

明知不敌,也要亮出自己的剑!

读者:我很吃惊, ANSI 标准竟然有那么多没有定义的东西。标准的唯

一任务不就是让这些东西标准化吗?

小林:某些构造随编译器和硬件的实现而变化, 这一直是 C语言的一个特点。这种有意的不严格规定可以让编译器生成效率更高的代码, 而不必让所有程序为了不合理的情况承担额外的负担。因此, 标准只是把现存的实践整理成文。编程语言标准可以看作是语言使用者和编译器实现者之间的协议。协议的一部分是编译器实现者同意提供, 用户可以使用的功能。而其它部分则包括用户同意遵守, 编译器实现者认为会被最受的规则。只要双方都恪守自己的保证, 程序就可以正确运行。如果任何一方违背它的诺言, 则结果肯定失败。

读者:有人说 i = i++ 的行为是未定义的, 但是我刚在一个兼容 ANSI

的编译器上测试, 得到了我希望的结果。

小林:面对未定义行为的时候, 包括范围内的实现定义行为和未确定行为, 编译器可以做任何实现, 其中也包括你所有期望的结果。但是依靠这个实现却不明智。

有时候,正是那些意想不到之人,成就了无人能成之事。

——图灵

本文分享自微信公众号 - C语言入门到精通(gh_780327809188),作者:闫小林

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-03-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 基础知识 | 每日一练(105)

    士人有百折不回之真心,才有万变不穷之妙用。立业建功,事事要从实地着脚,若少慕声闻,便成伪果;讲道修德,念念要从虚处立基,若稍计功效,便落尘情。 ...

    闫小林
  • 基础知识 | 每日一练(172)

    士人有百折不回之真心,才有万变不穷之妙用。立业建功,事事要从实地着脚,若少慕声闻,便成伪果;讲道修德,念念要从虚处立基,若稍计功效,便落尘情。 ...

    闫小林
  • 基础知识 | 每日一练(122)

    但是编译器认为这个函数对于 qsort() 是错误类型。我要怎样转换这个函数指针才能避免这样的警告?

    闫小林
  • 基础知识 | 每日一练(105)

    士人有百折不回之真心,才有万变不穷之妙用。立业建功,事事要从实地着脚,若少慕声闻,便成伪果;讲道修德,念念要从虚处立基,若稍计功效,便落尘情。 ...

    闫小林
  • 高级编译器设计与实现(Steven.S.Muchnick).(中文版)

    本书是经典的编译器著作,与“龙书”齐名。书中针对现代语言和体系结构全面介绍了编译器设计与实现的高级论题,从编译器的基础领域中的高级问题开始,然后深入讨论了各种重...

    用户3157710
  • 程序员大神教你学C语言/C加加编程零基础新手入门

    第一章:编译器和程序 很多小伙伴都老是会碰到疑问,其实还是基础没打扎实,这些题如果你不看答案你能知道多少呢?如果还有很多不知道就证明基础没打扎实,如果你还在入门...

    企鹅号小编
  • 陈天奇:深度学习编译技术的现状和未来

    深度学习编译器的部署目标传统的深度学习框架也可以做,一个非常自然的问题是为什么不直接沿用传统的框架。这是一个编译器研究者来往往会忽略的问题。深度学习编译器只有在...

    机器之心
  • 编译器的结构|编译原理

    今天的内容是冠以编译器的结构。(翻译内容可能不太准确,谅解,凑合看吧)

    仇诺伊
  • 综述 | 深度学习编译器架构

    转载于:知乎黄浴博士,https://zhuanlan.zhihu.com/p/139552817,已获授权

    计算机视觉联盟
  • Swift 5.1 新特性:透明类型关键字 some

    相信大家都对刚发布的 SwiftUI 印象深刻,在看示例代码的时候发现 View 前面有一个关键字 some。我开始以为是 SwiftUI 自带的属性,后来经...

    iOSSir

扫码关注云+社区

领取腾讯云代金券