gitbook/深入C语言和程序运行原理/README.md

97 lines
5.7 KiB
Markdown
Raw Normal View History

2022-09-03 22:05:03 +08:00
# 深入C语言和程序运行原理
## 你将获得
* 7 大 C 核心语法背后的实现细节
* 快速掌握 C 标准库的功能与原理
* C 项目工程化的 4 类实用技巧
* 深入 C 程序运行的全流程
## 讲师介绍
于航PayPal 技术专家极客时间专栏《WebAssembly 入门课》作者QCon 和 GMTC 大会优秀讲师、出品人。
现负责 PayPal Compliance Platform 相关的技术研发和管理工作。个人研究方向主要为 Web 前端基础技术架构、WebAssembly、编译及虚拟机技术。擅长 JavaScript、C/C++、x86 汇编。曾出版国内第一本 WebAssembly 技术书籍《深入浅出 WebAssembly》。2018 年,深度参与 Emscripten 编译器工具链项目的研发工作,并致力于推动国内 Wasm 技术的发展和落地实践。
## 课程介绍
提到学习 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 程序是如何通过编译,并最终被操作系统运行的。程序的运行涉及到众多与操作系统的交互细节,你将在这个模块里详细了解。
![](https://static001.geekbang.org/resource/image/41/9a/41a2c8587a87e0838334c313f47ebb9a.jpg)
## 课程目录
![](https://static001.geekbang.org/resource/image/fb/19/fb38ec231129e33a361ce9c29556de19.jpg)
## 适合人群
对C语言或类C语言的基础语法有一定了解想深入学习C语言和程序运行原理的人群。
## 特别放送
#### 免费领取福利
[![](https://static001.geekbang.org/resource/image/16/13/1664800067c250a67yy94c57d0e76c13.jpg?wh=1035x360)](https://time.geekbang.org/article/428647)
#### 限时活动推荐
[![](https://static001.geekbang.org/resource/image/67/a0/6720f5d50b4b38abbf867facdef728a0.png?wh=1035x360)](https://shop18793264.m.youzan.com/wscgoods/detail/2fmoej9krasag5p?dc_ps=2913145716543073286.200001)
## 订阅须知
1. 订阅成功后推荐通过“极客时间”App端、Web端学习。
2. 本专栏为虚拟商品,交付形式为图文+音频,一经订阅,概不退款。
3. 订阅后分享海报,每邀一位好友订阅有现金返现。
4. 戳此[先充值再购课更划算](https://shop18793264.m.youzan.com/wscgoods/detail/2fmoej9krasag5p?scan=1&activity=none&from=kdt&qr=directgoods_1541158976&shopAutoEnter=1),还有最新课表、超值赠品福利。
5. 企业采购推荐使用“[极客时间企业版](https://b.geekbang.org/?utm_source=geektime&utm_medium=columnintro&utm_campaign=newregister&gk_source=2021020901_gkcolumnintro_newregister)”便捷安排员工学习计划,掌握团队学习仪表盘。
6. 戳此[申请学生认证](https://promo.geekbang.org/activity/student-certificate?utm_source=geektime&utm_medium=caidanlan1)订阅课程享受原价5折优惠。
7. 价格说明:划线价、订阅价为商品或服务的参考价,并非原价,该价格仅供参考。未划线价格为商品或服务的实时标价,具体成交价格根据商品或服务参加优惠活动,或使用优惠券、礼券、赠币等不同情形发生变化,最终实际成交价格以订单结算页价格为准。