INTRO(3)                                               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-программ.@