INTRO(3)
НАЗВАНИЕ
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-программ.