我曾使用过<iostream>和其他通用 c++ 库。除此之外,我还使用过像<pthread.h> 这样的库。
现在,我已经阅读了依赖于操作系统的系统调用允许库和硬件上的功能实现之间的接口。这在 <pthread.h> 的工作中很明显,我们可以在 Linux 中使用但在 Windows 中不能使用。我对此的解释是,在 <pthread.h> 内部,函数是使用 UNIX系统调用定义的,Windows 无法理解。
但是 <iostream> 似乎在 Linux 和 Windows 中都可以正常工作。现在我的问题是,即使
<iostream> 的函数也需要根据 Windows 和 Linux 不同的系统调用来定义,那么<iostream> 如何在两个 OS 上都能正常工作。
PS:我知道按照我上面的想法,所有的库(即API)都会根据操作系统进行划分,或者库会针对不同的操作系统以不同的形式出现。