大咖助阵|LMOS:为什么说 C 语言是一把瑞士军刀?
LMOS
该思维导图由 AI 生成,仅供参考
你好,我是 LMOS。
很高兴受邀来到这个专栏做一期分享。也许这门课的一些同学对我很熟悉,我是极客时间上《操作系统实战 45 讲》这门课的作者,同时也是 LMOS、LMOSEM 这两套操作系统的独立开发者。十几年来,我一直专注于操作系统内核研发,在 C 语言的使用方面有比较深刻的理解,所以想在这里把我的经验、见解分享给你。
操作系统和 C 语言的起源有着千丝万缕的联系,那么今天,我就先从 C 语言的起源和发展历史讲起。然后,我会从 C 语言自身的语法特性出发,向你展示这门古老的语言简单在哪里,又难在哪里。
C 语言、UNIX 的起源和发展
从英国的剑桥大学到美国的贝尔实验室,C 语言走过了一段不平凡的旅程。从最开始的 CPL 语言到 BCPL 语言,再到 B 语言,到最终的 C 语言,一共经历了四次改进。从 20 世纪中叶到 21 世纪初,C 语言以它的灵活、高效、通用、抽象、可移植的特性,在计算机界占据了不可撼动的地位。但是,C 语言是如何产生的?诞生几十年来,它的地位为何一直不可动摇?请往下看。
C 语言是两位牛人“玩”出来的
1969 年夏天,美国贝尔实验室的肯·汤普森的妻子回了娘家,这位理工男终于有了自己的时间。于是,他以 BCPL 语言为基础,设计出了简单且接近于机器语言的 B 语言(取 BCPL 的首字母)。然后,他又用 B 语言写出了 UNICS 操作系统,这就是后来风靡全世界的 UNIX 操作系统的初级版本。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
C语言:瑞士军刀般的技术魅力 C语言被誉为瑞士军刀,以其灵活、高效、通用、抽象、可移植的特性备受推崇。本文深入探讨了C语言的本质和难点,通过汇编代码展示了C语言的内部处理机制,以及指针可能带来的陷阱。C语言的简单性体现在其类型系统、静态编译、内存操控和可移植性等方面,但实际使用中却具有极高的技巧要求,类似于使用瑞士军刀,简单易用但对技术要求极高。 文章首先回顾了C语言的起源和其与UNIX操作系统的密切联系,强调了C语言的高效、简单、灵活和可移植性。通过观察汇编代码,读者能够了解C语言的本质,进而理解C语言指针可能带来的陷阱。这篇文章深入浅出地解释了C语言的本质和难点,使读者能够快速了解C语言的技术特点和挑战。 总之,本文展现了C语言的技术特点和挑战,为读者提供了对C语言的全面了解。对于想要深入了解C语言的读者来说,这是一篇值得阅读的文章。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《深入 C 语言和程序运行原理》,新⼈⾸单¥59
《深入 C 语言和程序运行原理》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(4)
- 最新
- 精选
- 杰良置顶C 语言与 UNIX 操作系统相互成就,可以说是比 UNIX 走得更远,尤其是在广阔的嵌入式领域。C 语言简洁有力的语法特点,能在小到单片机程序达到 Linux 操作系统上玩出花来。 当然,强大灵活的代价就是容易用错,误伤自己。包括遭受非法攻击的风险也是特别需要注意的。2021-12-202
- 胡子拉差的我用的什么编译器?
编辑回复: 我问过LMOS啦,是GCC
2021-12-25 - =通篇读完,“有趣而有益”。 “有趣”是指在阅读中了解了与C语言相关的历史背景知识;“有益”是指开卷有益——指针的不良使用对于栈的破坏是我获得的新知识。 读完后开始期待(下)篇的内容。2021-12-202
- sky请教一下大家,陷阱三 代码中的*l— =(long)test;这里的test是在哪里定义的?2021-12-2041
收起评论