C POSIX library — языконезависимая библиотека (использующая соглашение о вызове cdecl), добавляющая специфические функции в систему POSIX. POSIX (и SUS) определяют номера подпрограмм, которые должны быть доступны в дополнение к соответствующим подпрограммам стандартной библиотеки Си. Она была разработана в одно время со стандартом ANSI языка Си и поэтому вплотную с этим языком связана. Были предприняты попытки сделать библиотеки Си и POSIX совместимыми, но, тем не менее, есть несколько функций POSIX, никогда не упоминаемых в ANSI Си.

Удобно применять совместно с функциональностью стандартной библиотекой Си с различной степенью взаимодействия. Например, glibc реализует функции такие как fork() внутри libc.so, но перед тем, как NPTL объединится с glibc, она создаёт отдельную библиотеку со своим собственным флагом линковщика. Зачастую, такая POSIX-специфичная функциональность рассматривается как часть библиотеки; библиотека Си соответственно может быть идентифицирована как библиотека Си, удовлетворяющая стандартам ANSI или ISO.

Заголовочные файлы библиотеки C POSIX править

Согласно стандарту POSIX.1, стандартная библиотека должна содержать следующие заголовочные файлы[1]:

<aio.h> Асинхронный ввод/вывод
<arpa/inet.h> Определения операций с сетью
<assert.h> Макрос для проверки утверждений
<complex.h> Комплексная арифметика
<cpio.h> Магические числа для формата архива cpio
<ctype.h> Определение типа символов
<dirent.h> Открытие и вывод каталогов
<dlfcn.h> Динамическая компоновка
<errno.h> Номера системных ошибок
<fcntl.h> Открытие и вывод каталогов
<fenv.h> Работа с контекстом операций чисел с плавающей запятой
<float.h>
<fmtmsg.h> Форматирование сообщений
<fnmatch.h>
<ftw.h> Обход дерева файлов
<glob.h>
<grp.h> информация о пользовательских группах и управление
<iconv.h> Преобразование кодировок текста
<inttypes.h>
<iso646.h> Альтернативный синтаксис для некоторых операторов языка C
<langinfo.h>
<libgen.h> Функции обработки путей
<limits.h>
<locale.h>
<math.h> Математические функции
<monetary.h>
<mqueue.h> Очереди сообщений
<ndbm.h>
<net/if.h>
<netdb.h>
<netinet/in.h>
<netinet/tcp.h>
<nl_types.h>
<poll.h>
<pthread.h> Потоки выполнения
<pwd.h> passwd (пользовательская информация) доступ и контроль
<regex.h>
<sched.h>
<search.h>
<semaphore.h>
<setjmp.h>
<signal.h>
<spawn.h>
<stdarg.h>
<stdbool.h>
<stddef.h>
<stdint.h> Определение целочисленных типов данных
<stdio.h>
<stdlib.h>
<string.h>
<strings.h>
<stropts.h>
<sys/ipc.h> межпроцессное взаимодействие (IPC)
<sys/mman.h> Отображение файлов в память
<sys/msg.h> POSIX потоки сообщений
<sys/resource.h>
<sys/select.h>
<sys/sem.h> POSIX семафоры
<sys/shm.h>
<sys/socket.h>
<sys/stat.h> информация о файле (stat и пр.)
<sys/statvfs.h>
<sys/time.h> функции и структуры работы со временем и датой
<sys/times.h>
<sys/types.h> различные типы данных
<sys/uio.h>
<sys/un.h>
<sys/utsname.h> uname и связанные структуры
<sys/wait.h> статус завершенных дочерних процессов (смотри wait)
<syslog.h>
<tar.h> магические числа для формата архивов tar
<termios.h> позволяет использовать интерфейс терминала ввода-вывода
<tgmath.h>
<time.h>
<trace.h>
<ulimit.h>
<unistd.h> различные основные функции и константы POSIX
<utime.h> inode доступ и количество модификаций
<utmpx.h>
<wchar.h> Обработка «широких» символов
<wctype.h> Функции классификации и преобразования «широких» символов
<wordexp.h>

Ссылки править

Примечания править

  1. Chapter 13. Headers // Standard for Information Technology– Portable Operating System Interface (POSIX®). Base Specifications, Issue 7. — IEEE, 2008. — doi:10.1109/IEEESTD.2008.4694976.