17. C 标准库和实现

背景回顾:我们已经在系统调用的基础上实现了 shell;你应该有一种 “能实现整个应用世界” 的感觉。为了让这个世界更丰富多彩,为开发者提供便利就是至关重要的。UNIX 世界的蓬勃发展离不开 C 语言和它的标准库,长久以来都为 Systems Programming 树立了一套标杆。

本讲内容:系统调用之上的世界:C 标准库和实现。

17.1 libc 简介

17.2 基础编程机制的抽象

17.3 系统调用与环境的抽象

17.4 动态内存管理

Take-away Messages

在系统调用和语言机制的基础上,libc 为我们提供了开发跨平台应用程序的 “第一级抽象”。在此基础上构建起了万千世界:C++ (扩充了 C 标准库)、Java、浏览器世界……今天,C 语言在应用开发方面有很多缺陷,但仍然为 “第一级抽象” 提供了一个有趣的范本:

课后习题/编程作业

1. 编程实践

🖥️编程

试着浏览 libc 的头文件/手册,找到你认为有趣的函数,并且观察 musl 是如何实现的。