深入C语言和程序运行原理- 极客时间课程推荐/优惠

深入C语言和程序运行原理--极客时间课程推荐/优惠

掌握 C 程序从编写到运行的全链路法则
于航PayPal 高级软件工程师
专栏 | 49讲 | 21914人已学习
优惠价¥59原价:129
官网优惠购买

版权声明

本站非极客时间官网,与官方无任何关系。我们不提供课程下载或详细内容,仅作为课程分享和推荐平台。我们鼓励大家支持正版,尊重创作者的劳动成果,这样不仅能帮助创作者持续产出优质内容,也能让自己获得更好的学习体验。请通过官方渠道购买和学习课程,感谢您的理解与支持。

课程详情

你将获得

  • 7 大 C 核心语法背后的实现细节;
  • 快速掌握 C 标准库的功能与原理;
  • C 项目工程化的 4 类实用技巧;
  • 深入 C 程序运行的全流程。

课程介绍

提到学习 C 语言,不知道你有没有这样的疑惑:

  • C 语言这么基础,大家基本都熟悉啊,还需要从头开始学吗?
  • 用 C 语言做应用层开发时,总感觉无从下手,和 Python、Java 比起来,C 语言产出效率是不是太低了?
  • 在新语言层出不穷的今天,C 语言已经诞生这么久了,会不会就要过时了?
  • ……

其实这些都可以归结为两个问题。第一个,C 语言可以用来干啥?第二个,学 C语言,学习重点是什么?

C 语言远远没有过时,甚至可以说,这个世界上几乎所有重要的软件都与 C 有着直接或间接的关系。C 语言精确的程序控制能力和高效的运行时性能,让它被广泛应用于实现操作系统、嵌入式系统应用、编译器、数据库、驱动程序,以及服务器应用等较为底层和基础的系统级程序。

而且,即使你不使用 C 语言进行开发,深入学习 C 语言,也是你修炼编程内功、成为高手的必经之路。C 语言抽象层次低,学习它能够让你从基础层面了解程序是如何工作的。理解了计算机系统底层运作机制,你在设计更复杂、性能更高的程序时,就能得心应手、融会贯通。

不过,如果要发挥 C 语言的最大威力,只掌握 C 语言的基本语法是远远不够的。我们还需要深入到 C 语言的内部,去了解⼀个 C 程序从编写到编译,再到被运⾏的整体流程细节。只有做到“知其然”并“知其所以然”,方能运用自如,百战不殆。

于是,我们和于航老师一起设计了这门“不一样的 C 语言课”,想要带你从新的视角来学习 C 这门“旧”的语言。

课程模块设计

这门课分为四个模块,从 C 语言的核心语法实现到 C 程序的运行原理,带你掌握 C 程序从编写到运行的全链路法则。

前置篇

快速了解汇编语言、寄存器这些较为底层的基础知识,并且回顾一个 C 程序从编写到运行的完整生命周期。另外,还会用一个比较复杂的 C 程序,带你快速回顾 C 语言的核心语法。

C 核心语法实现篇

梳理 C 语言7大核心语法“背后的故事”,带你了解编译器如何在汇编层面实现这些语法。你会对 C 程序的运行细节有更深刻的理解,从而更好地掌握并优化程序运行。

C 工程实战篇

介绍 C 语言在大型工程实战中的必备技巧,主要包括:快速掌握 C 标准库的重要功能,以及这些功能背后的实现原理;掌握编写高性能 C 代码、编码规范、结构化测试、结构化编译这些 C 项目工程化的实用技巧。

C 程序运行原理篇

为你介绍一个 C 程序是如何通过编译,并最终被操作系统运行的。程序的运行涉及到众多与操作系统的交互细节,你将在这个模块里详细了解。

课程目录

开篇词

  • 开篇词|时至今日,如何更好地拥抱现代 C 语言?

前置篇

  • 课前热身|学习这门课前,你需要了解哪些知识?
  • 01|快速回顾:一个 C 程序的完整生命周期

C 核心语法实现篇

  • 02|程序基石:数据与量值是如何被组织的?
  • 03|计算单元:运算符是如何工作的?
  • 04|控制逻辑:表达式和语句是如何协调程序运行的?
  • 05|代码封装(上):函数是如何被调用的?
  • 06|代码封装(下):函数是如何被调用的?
  • 07|整合数据:枚举、结构与联合是如何实现的?
  • 08|操控资源:指针是如何灵活使用内存的?
  • 09|编译准备:预处理器是怎样处理程序代码的?

特别放送

  • 大咖助阵|LMOS:为什么说 C 语言是一把瑞士军刀?
  • 大咖助阵|LMOS:用面向对象的思想开发 C 语言程序
  • 大咖助阵|罗剑锋:为什么 NGINX 是 C 编程的经典范本?
  • 大咖助阵|海纳:C 语言是如何编译执行的?(一)
  • 大咖助阵|海纳:C 语言是如何编译执行的?(二)
  • 加餐 | 和 C 语言相比,C++ 有哪些不同的语言特性?
  • 大咖助阵|海纳:C 语言是如何编译执行的?(三)
  • 大咖助阵|Tony Bai:Go 程序员拥抱 C 语言简明指南

C 工程实战篇

  • 10|标准库:字符、字符串处理与数学计算
  • 11|标准库:深入理解标准 IO
  • 12|标准库:非本地跳转与可变参数是怎样实现的?
  • 13|标准库:你需要了解的 C 并发编程基础知识有哪些?
  • 14|标准库:如何使用互斥量等技术协调线程运行?
  • 15|标准库:信号与操作系统软中断有什么关系?
  • 16|标准库:日期、时间与实用函数
  • 17|标准库:断言、错误处理与对齐
  • 18|极致优化(上):如何实现高性能的 C 程序?
  • 19|极致优化(下):如何实现高性能的 C 程序?
  • 20|生产加速:C 项目需要考虑的编码规范有哪些?
  • 21|生产加速:如何使用自动化测试确保 C 项目质量?
  • 22|生产加速:如何使用结构化编译加速 C 项目构建?
  • 期中测试|来检验下你的学习成果吧!
  • 23|实战项目(上):一个简单的高性能 HTTP Server
  • 24|实战项目(下):一个简单的高性能 HTTP Server

答疑篇

  • 课堂答疑(一)|前置篇、C 核心语法实现篇问题集锦
  • 课堂答疑(二)|C 工程实战篇问题集锦

春节策划

  • 春节策划一 | 构建自己的知识体系,让学习的“飞轮”持续转动
  • 春节策划二 | 关于 C 语言,我有这些书籍想推荐给你
  • 春节策划三 | JIT Compilation:一种特殊的程序执行方式

C 程序运行原理篇

  • 25|可执行二进制文件里有什么?
  • 26|进程是如何使用操作系统内存的?
  • 27|编译器在链接程序时发生了什么?
  • 28|程序可以在运行时进行链接吗?
  • 29|C 程序的入口真的是 main 函数吗?
  • 30|ABI 与 API 究竟有什么区别?
  • 31|程序如何与操作系统交互?

结束语

  • 期末考试|来赴一场满分之约吧!
  • 结束语|工业 4.0 时代,C 语言还有哪些应用场景?

作者介绍

于航,PayPal 高级软件工程师,WebAssembly 技术布道者,FCC (FreeCodeCamp China)上海技术社区负责人,QCon 和 GMTC 大会讲师、出品人。 研究方向主要为 Web 前端基础技术架构、WebAssembly、LLVM 及虚拟机技术。曾出版国内第一本 WebAssembly 技术书籍《深入浅出 WebAssembly》。 2017 年注册成为 W3C 官方 CG 成员,定期参与 CG 组织的在线视频研讨会议,为 Wasm 的标准化提出发展建议。2018 年,深度参与 Emscripten 编译器工具链项目的研发工作,并致力于推动国内 Wasm 技术的发展和落地实践。

作者其他课程

WebAssembly入门课 - 极客时间课程推荐/分享/优惠/折扣
WebAssembly入门课
从0到1实现一个WebAssembly多媒体应用
于航PayPal 高级软件工程师
专栏 | 11128人已学习
优惠价¥29原价:68
官网优惠购买

推荐

深入浅出可观测性 - 极客时间课程推荐/分享/优惠/折扣
深入浅出可观测性
理论+实战,为系统可靠性保驾护航
翁一磊观测云产品技术总监
专栏 | 5541人已学习
优惠价¥29原价:68
官网优惠购买
图解 Google V8 - 极客时间课程推荐/分享/优惠/折扣
图解 Google V8
一门课搞懂 JavaScript 执行逻辑
李兵前盛大创新院高级研究员
专栏 | 27220人已学习
优惠价¥59原价:99
官网优惠购买
NLP实战高手课 - 极客时间课程推荐/分享/优惠/折扣
NLP实战高手课
全方位提升你的NLP实战技能
王然众微科技AI Lab技术负责人、阿姆斯特丹大学数学和计量经济学双硕士
视频课 | 16468人已学习
优惠价¥68原价:199
官网优惠购买
云时代的JVM原理与实战 - 极客时间课程推荐/分享/优惠/折扣
云时代的JVM原理与实战
3个月带你攻克JVM核心技术
康杨京东资深架构师
专栏 | 4066人已学习
优惠价¥59原价:129
官网优惠购买
Web安全攻防实战 - 极客时间课程推荐/分享/优惠/折扣
Web安全攻防实战
全面掌握Web安全漏洞原理与攻防技能
王昊天螣龙安科创始人兼CEO
视频课 | 25444人已学习
优惠价¥68原价:199
官网优惠购买
数据结构与算法之美 - 极客时间课程推荐/分享/优惠/折扣
数据结构与算法之美
为工程师量身打造的数据结构与算法私教课
王争前Google工程师
专栏 | 287571人已学习
优惠价¥68原价:199
官网优惠购买