C语言:我不是针对谁,我说在座的各位都是···
共 1891字,需浏览 4分钟
·
2022-08-26 14:04
都说 C 生万物。主流操作系统是 C 写的,大多数语言的编译器也是 C 写的,数据库、虚拟机、硬件驱动、嵌入式应用等等,都是 C 写的。说霸气点儿,这个世界就是在 C 语言之上运行的。而且在这些领域,C 语言是完全的“垄断”,连竞争者都没有。
而且众所周知,现如今几乎所有的编程语言,都是以 C 语言为基础拓展的:C++、Java、Go、Python、JS 等等,所以你会发现,学好了 C 语言,别的语言都很容易上手,更不会因为“语言层出不穷”而焦虑。
然而大部分人学 C 之路都颇为坎坷,会遇到很多困难,比如:
C 语言的的语法很基础,但学完又感觉什么都不会?
搞不懂指针是如何灵活使用内存的?
不知道如何编写高性能代码?
弄不清编译器在链接程序时发生了什么?
....
我的经验,学好 C 语言,除了简单的语法外,更重要的是要搞懂 C 程序从编写到编译,再到被运⾏的整个细节。
分享我当初的学习路径:
掌握基本语法,理解 C 程序的运行细节;
掌握标准库,性能优化以及工程化内容,搞懂如何写一个可以用在生产实践中的 C 程序;
掌握编译、链接、加载以及和操作系统的交互细节,搞懂 C 程序是如何运⾏起来的。
当时我啃的时候并不容易,难点在于系统性的资料不好找,而且缺乏氛围感很难坚持下去,从体系化和学习氛围这个层面,我还是比较推荐老朋友「极客时间」的专栏《深入 C 语言和程序运行原理》。
这个专栏整个看下来,我最大的感触是 —— 它完全是按照程序员的学习痛点来设计的:
先聚焦于 C 语言的核心语法,带大家了解编译器是如何在机器指令层面实现它们的;其次介绍现代 C 语言标准库中的一些重要功能,及背后的运作机制;接着详解如何编写高性能的 C 代码,这也是工程化相关的重要内容。最后,探讨二进制可执行程序是如何在与操作系统的协同工作下被运行。
有了这 4 个层面,你就能深入理解 C 程序的完整生命周期。现在极客时间有个新人优惠活动,原价 129 元,新人首单才到手¥59,相当于原价的4.5折!
专栏一共 49 篇内容,口碑也很不错,建议你用新人优惠拿下。
极客时间新用户 4.5 折特惠
仅需 ¥59,拿下 C 语言
专栏作者是「于航」,PayPal 技术专家,也是 QCon 和 GMTC 大会优秀讲师和出品人。18 年那会,还深度参与了 Emscripten 编译器工具链项目的研发工作,在推动国内 Wasm 技术的发展和落地实践方面出了不少力。
我最早是在极客时间的「每日一课」里看到他出的视频,对他提到的 C 语言学习方式,印象非常深刻,而这次专栏的设计逻辑就是:聚焦 C 语言核心语法实现 → C 项目工程化技巧 → 深入 C 程序运行。
主要分为四个模块:
前置篇
专栏中涉及到了计算机体系结构、汇编语言等较为底层的基础知识,为避免读者的知识盲区,所以会快速带你了解汇编语言、寄存器等内容,并且回顾一个 C 程序从编写到运行的完整过程;还会用一个比较复杂的 C 程序,带大家快速回顾 C 语言的核心语法。
C 核心语法实现篇
梳理 C 语言7大核心语法“背后的故事”,带你了解编译器如何在汇编层面实现这些语法。通过这一模块的学习,你会对 C 程序的运行细节有着更深刻的理解,从而可以更好地掌握并优化程序运行。
C 工程实战篇
介绍 C 语言在大型工程实战的必备技巧。包括:
快速掌握 C 标准库的重要功能,以及这些功能背后的实现原理;
掌握编写高性能C 代码、编码规范、结构化测试与结构化编译等,这些 C 项目工程化的实用技巧。
C 程序运行原理篇
介绍 C 程序是如何通过编译,并最终被操作系统运行的。程序的运行涉及到众多与操作系统的交互细节,你将在这个模块里详细了解。
说了这么多,一起来看下目录吧👇🏻
再说一遍优惠:
原价 129 元
极客时间新用户仅需 ¥59
低至 4.5 折
扫码免费试读👇🏻
时至今日,C 语言作为最“古老”的编程语言之一,仍然“老当益壮”、生生不息。这一切靠的不是巧合,而是绝对的实力。
而要发挥 C 语言的最大威力,我们就不应该只简单了解它的语法,而应该在此基础上进一步了解代码如何被编译,程序如何被运行。只有当完整的“链路”建立在脑海中时,你才对程序有了最完全的把控。
点击「阅读原文」👇🏻,仅需 ¥59,这次吃透 C 语言。