计算的封装

计算的封装

2024 南京大学《操作系统:设计与实现》
计算的封装

基础数据的体系结构无关抽象

Freestanding 环境下也可以使用的定义

2024 南京大学《操作系统:设计与实现》
计算的封装

字符串和数组操作

string.h: 字符串/数组操作

  • memcpy, memmove, strcpy, ...

stdlib.h: 常用功能

  • rand, abort, atexit, system, atoi, ...
  • 看起来就不像是人用的
// C
void qsort(void*, size_t, size_t, int (*)(const void*, const void*));
// C++
std::ranges::sort(xs, [](const auto& x, const auto& y) { ... });
2024 南京大学《操作系统:设计与实现》
计算的封装

更多的例子

RTFM!

  • 更多的 stdlib.h 中的例子
    • atoi, atol, atoll, strtoull, ...
    • rand (注意线程安全), ...
  • math.h
  • setjmp.h
    • 曾经 lab 要求使用 setjmp.h
    • 现在简单了 (ucontext.h)
  • 实现库函数 = C 语言课程习题
2024 南京大学《操作系统:设计与实现》