The C Standard Library
世界上 “最通用” 的高级语言库函数
- C 是一种 “高级汇编语言”
- AskGPT: 为什么称C语言是高级的汇编语言?
- 作为对比,C++ 更好用,但也更难移植
- 屏蔽了底层体系结构细节
被很好地标准化
- ISO IEC 标准的一部分
- POSIX C Library 的子集
- 稳定、可靠 (不用担心升级版本会破坏实现)
- 极佳的移植性:包括你自己的操作系统!
我们应该怎么学习?
直接调试 glibc (像我们上课那样)
- 不,你不想
- glibc 的代码有非常沉重的历史包袱
原则:总有办法的
- 让 AI Copilot 帮你解释代码 (这个真的可以有)
- 寻找更好的替代品
使用另一个 libc
下载源码不难,难的是怎么用下载的 libc 编译
- AskGPT: How to compile a C program use musl as libc instead of glibc?
- 当然,我们还是选择自己编译
- 比较重要的选项
- -O1: 减少优化级别,便于查看状态
- -g3: 增加调试信息
- musl-gcc 静态编译
- 试一试:从第一条指令开始调试一个 C 程序