НАЗВАНИЕ
intro - введение в описание функций и библиотек
ОПИСАНИЕ
В этом разделе описываются функции, отличные от тех,
которые непосредственно вызывали системные примитивы и
были описаны в разделе 2 настоящего Справочника. Функции размещаются в нескольких библиотеках. Описание
функций разбито на подразделы, которые идентифицируются
буквой после номера раздела:
3C | Эти функции, совместно с описанными в разделе 2 и подразделе 3S, об единены в стандартную библиотеку языка C, libc, которая автоматически используется C-компилятором cc(1). Подразделы 3C и 3S об единены и в настоящем Справочнике. Редактор связей ld(1) просматривает библиотеку libc при указании опции -lc. Может быть использована "разделяемая" версия стандартной библиотеки, для чего надо задать опцию -lc_s. В результате можно получить меньший по об ему выполняемый файл. В описании многих функций указаны включаемые файлы, содержащие декларации, нужные для использования функций. |
---|---|
3S | Эти функции составляют стандартный пакет ввода/вывода [см. stdio(3S)]. Как уже отмечалось, они находятся в библиотеке libc, а их декларации - во включаемом файле <stdio.h>. |
3M | Функции, описанные в данном подразделе, составляют математическую библиотеку, libm. Она автоматически подключается компилятором с Фортрана f77(1). По умолчанию C-компилятор cc(1) ее не подключает; однако редактор связей просматривает эту библиотеку при указании опции -lm. Необходимые декларации и определения употребительных математических констант помещены во включаемый файл <math.h> [см. math(5)]. |
3X | В этом подразделе описаны некоторые специализированные библиотеки. Имена библиотек приведены на соответствующих страницах Справочника. |
ОПРЕДЕЛЕНИЯ
Символ - это любой набор бит, составляющих один байт.
Пустой символ есть символ со значением 0. В языке C пустой символ записывается как '\0'.
Символьный массив есть последовательность символов.
Цепочка символов, или просто цепочка - это символьный массив, завершающийся пустым символом.
Пустая цепочка есть символьный массив, состоящий только из пустого символа.
Пустой указатель (NULL) есть значение, полученное преобразованием нуля в указатель. Язык C гарантирует, что это значение не будет совпадать ни с одним из допустимых указателей, поэтому многие функции, возвращающие указатели, выдают NULL для индикации ошибки. NULL определен как 0 в файле <stdio.h>; если пользователь не включает этот файл, он должен явно записать соответствующее определение.
ПРИМЕЧАНИЯ
Информацию, относящуюся к системе разделения удаленных
файлов (РУФ), следует принимать во внимание, только если на Вашей установке есть соответствующее аппаратное и
программное обеспечение; в стандартную конфигурацию оно
не входит. По этой причине в данном Справочнике отсутствует подраздел 3N, посвященный библиотеке функций,
обслуживающих сеть.
Поскольку стандартный компилятор с Фортрана f77(1) содержит многочисленные ошибки, и вместо него используется компилятор SVS-Фортран, в Справочнике отсутствует подраздел 3F с описанием Фортран-библиотеки.
ФАЙЛЫ
LIBDIR Обычно /lib. LIBDIR/libc.a LIBDIR/libc_s.a LIBDIR/libm.a /shlib/libc_s
СМ. ТАКЖЕ
ar(1), cc(1), f77(1), ld(1), lint(1), nm(1) в Справочнике пользователя.
intro(2), stdio(3S), math(5).
ДИАГНОСТИКА
Функции из стандартной библиотеки языка C (3C) и математической библиотеки (3M) могут выдать значения, равные 0, +HUGE или -HUGE (наибольшее по абсолютной величине число одинарной точности с плавающей точкой; значение HUGE описано во включаемом файле <math.h>), если
для переданных аргументов результат неопределен или
непредставим в пределах разрядной сетки. В этих случаях
внешней переменной errno [см. intro(2)] присваивается
значение EDOM или ERANGE.
ПРЕДОСТЕРЕЖЕНИЯ
Многие функции вызывают и/или ссылаются на другие функции и внешние переменные, описанные в этом разделе и в
разделе 2 (Системные вызовы). Если в программе по неосторожности описана функция или внешняя переменная с тем
же именем, предполагаемая библиотечная версия функции
или внешней переменной не может быть подключена. Верификатор C-программ lint(1) проверяет их на корректность
и сообщает о подобных конфликтах имен как о многократных декларациях. Конфликты с определениями, относящимися к разделам 2, 3C и 3S, проверяются автоматически.
Контроль других определений может быть инициирован с
помощью опции -l (например, опция -lm включает контроль
деклараций, относящихся к разделу 3M, то есть к математической библиотеке). Следует настоятельно рекомендовать верификацию C-программ.