Я работал с ‹ iostream> и другими общими библиотеками C++. Помимо этого, я также работал с такими библиотеками, как ‹ pthread.h>.
Теперь я прочитал, что системные вызовы, которые зависят от операционной системы, обеспечивают интерфейс между библиотеками и функциональной реализацией на оборудовании. Это видно по работе ‹ pthread.h>, которую мы можем использовать в Linux, но не в Windows. Я объясняю это тем, что внутри ‹ pthread.h> функции определяются с помощью системных вызовов UNIX, которые Windows не понимает.
Но ‹ iostream>, похоже, отлично работает как в Linux, так и в Windows. Теперь мой вопрос заключается в том, что даже функция
‹ iostream> должна быть определена с точки зрения системных вызовов, которые отличаются для Windows и Linux, тогда как же ‹ iostream> нормально работает в обеих ОС< /сильный>.
PS: я знаю, что согласно моей идее выше, все библиотеки (т.е. API) будут разделены по операционным системам или библиотеки будут иметь разные формы для разных операционных систем.