Для экономии памяти и более эффективной компоновки программ функции хранятся в виде библиотек. Библиотека - это файл данных, содержащий копии отдельных файлов и управляющую информацию, которая позволяет получать доступ к отдельным файлам. Библиотеки располагаются в каталогах /usr/ccs/lib и /usr/lib. По общепринятому соглашению имена большинства из них задаются в виде libимя.a, где имя определяет конкретную библиотеку.
Все директивы включения файлов должны задаваться в начале первого компилируемого файла, обычно в разделе объявлений перед main( ), и до использования библиотечных функций. Например, для включения файла stdio.h используйте следующую директиву:
#include <stdio.h>
Для вызова стандартных функций языка C из библиотеки libc.a не нужно выполнять никаких специальных действий. Команда cc автоматически находит эту библиотеку для функций, вызываемых в данной программе. Однако, если вы вызываете функцию из другой библиотеки, необходимо сообщить компилятору имя этой библиотеки. Если в вашей программе используются функции из библиотеки libимя.a, то компилируйте программу с флагом -lимя(L в нижнем регистре). Для компиляции программы myprog.c, в которой используются функции из библиотеки libdbm.a необходимо ввести команду
cc myprog.c -ldbm
Можно задать несколько флагов -l (L в нижнем регистре). Флаги обрабатываются в том порядке, в котором указаны.
Если вы планируете использовать функцию из библиотеки Berkeley Compatibility Library, то необходимо сначала подключить библиотеку libbsd.a, и только потом - библиотеку libc.a, как показано в следующем примере:
cc myprog.c -lbsd
При возникновении ошибки большинство функций возвращают значению -1 и записывают код ошибки во внешнюю переменную errno. Переменная errno объявляется в файле sys/errno.h, кроме того, в этом файле определяются константы для всех возможных исключительных ситуаций.
В данном руководстве все системные вызовы описываются как функции; предполагается, что они хранятся в библиотеке libc.a. Программный интерфейс системных вызовов аналогичен интерфейсу функций. В программах на языке С системный вызов - это просто вызов функции. Реальное различие между системным вызовом и функцией заключается в типе выполняемой ими операции. Когда программа выполняет системный вызов, переключается режим защиты домена, и вызываемая процедура получает доступ к специальной информации ядра операционной системы. При этом процедура работает в режиме ядра и выполняет задачу вместо программы. Таким образом, доступ к специальной системной информации разрешен ограниченному набору предопределенных процедур, действиями которых можно управлять.
Примечания:
- Ниже приведен список устаревших функций wString 64-разрядной библиотеки libc.a. Здесь же приводятся соответствующие функции 64-разрядной библиотеки libc.a. Функции 32-разрядной библиотеки libc.a описаны в разделе Функция wstring. Соответствующие функции для 64-разрядной библиотеки libc.a указаны в Списке функций широких символов (Список функций для работы с широкими символами).
Только 32-разрядная64-разрядный эквивалент wstrcat wcscat wstrchr wcschr wstrcmp wcscoll wstrcpy wcscpy wstrcspn wcscspn wstrdup Не поддерживается и не имеет эквивалента wstrlen wcslen wstrncat wcsncat wstrncpy wcsncpy wstrpbrk wcspbrk wstrrchr wcsrchr wstrspn wcsspn wstrtok wcstok- В начале всех программ, работающих с многобайтовыми, широкими или определяемыми локалью символами, необходимо вызвать функцию setlocale. Дополнительная информация по этому вопросу приведена в разделе Функции для поддержки национальных языков - Обзор.
- При программировании в среде с несколькими нитями для сохранения целостности данных необходимо применять реентерабельные функции. См. "Список функций программирования с несколькими нитями" (Список функций для работы в среде с несколькими нитями)
функция setlocale
Список функций для работы со 128-разрядными числами двойной точности
Список функций для работы с символами
Список функций для создания выполняемых программ
Список функций для работы с файлами и каталогами
Список вектор-векторных функций для FORTRAN BLAS уровня 1
Список матрично-векторных функций для FORTRAN BLAS уровня 2
Список функций для работы с матрицами для FORTRAN BLAS уровня 3
Список функций библиотеки форматов
Список функций для работы с логическими томами
Список функций работы с памятью
Список функций управления памятью
Список функций поддержки национальных языков
Список функций для работы с целыми двойной длины
Список функций для работы со 128-разрядными числами двойной точности
Список функций для работы с процессами
Список функций для работы в среде с несколькими нитями
Список функций библиотеки инструментальных средств программиста
Список функций защиты и контроля
Список функций обработки строк
Краткая справка по библиотеке работы с нитями
Список функций поддержки национальных языков
Пример программы для работы с символами
Пример программы поиска и сортировки
Список библиотек операционной системы
Раздел Список служб управления данными времени книги Руководство по управлению системой AIX 5L версии 5.1: Операционная система и устройства.