Меня немного смущает "C standard lib" и "C POSIX lib", потому что я обнаружил, что многие файлы заголовков, определенные в "C POSIX lib", также являются частью "C стандартной библиотеки".
Итак, я предполагаю, что "C standard lib" - это lib, определяемый организацией ANSI C, и существуют разные реализации на разных платформах (Win32/Unix-like), а "C POSIX lib" - это просто реализация для "C standard lib" на Unix-подобных операционных системах, правильно?
Но "C POSIX lib" содержит некоторые заголовки, не указанные в "C стандартной lib", такие как <sys/types.h>
, <sys/wait.h>
и <pthread.h>
.
Возьмите <pthread.h>
в качестве примера, я предполагаю, что его коллега "C стандартной библиотеки" <threads.h>
, тогда, если я хочу написать многопоточную программу в Linux, в какой заголовочный файл я должен включить, <pthread.h>
или <threads.h>
?