C 运行时,就是实现 C 规范的库。操作系统内核介于硬件与软件间,C 运行时介于内核与用户软件间。
在 Windows 上是 Microsoft Visual C Runtime Library,也就是你经常看到的 vc_redist-x86.exe
安装进来的,在控制面板里叫作 Microsoft Visual C++ 2017 Redistributable。
在 Linux 下,主流的 C 运行时实现是 glibc。大多数软件都是用 glibc 编译的,构成了 GNU 生态,也就是 GNU/Linux 这个名字的由来。GNU 跟 Linux 是紧紧绑定的。
但是后面有另外一个 C 运行时出来挑战 glibc 的地位,叫 Musl。注重更好的性能、更小的可执行程序和安全。作者做的 benchmark 表示 Musl 在很多方面优于 glibc。
看了一个 Reddit 帖子 很好地解释了 Musl 的一些问题:
Musl 的一些使用场景: