Provided by: manpages-ru-dev_4.18.1-1_all bug

ИМЯ

       uselib - загрузить динамическую библиотеку

СИНТАКСИС

       #include <unistd.h>

       [[deprecated]] int uselib(const char *library);

ОПИСАНИЕ

       Системный  вызов  uselib()  выполняет загрузку динамической библиотеки для использования в
       вызывающем процессе. Она задаётся именем файла. Адрес  загрузки  находится  в  ней  самой.
       Библиотека может быть в любом распознаваемом формате.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       On  success, zero is returned.  On error, -1 is returned, and errno is set to indicate the
       error.

ОШИБКИ

       В дополнении к тем кодам ошибок, которые возвращаются вызовами open(2)  и  mmap(2),  также
       могут быть следующие коды ошибок:

       EACCES На  библиотеку, заданную library, нет прав на чтение или исполнение, или вызывающий
              не имеет прав на поиск в одном из каталогов,  указанных  в  пути.  (Смотрите  также
              path_resolution(7).)

       ENFILE Достигнуто максимальное количество открытых файлов в системе.

       ENOEXEC
              Библиотека,  заданная  library,  имеет неизвестный исполняемый тип; например, в ней
              нет корректных идентификационных чисел (magic numbers).

СТАНДАРТЫ

       Вызов uselib() применяется только в Linux и поэтому не должен использоваться в программах,
       предназначенных для переноса на другие платформы.

ЗАМЕЧАНИЯ

       This  obsolete system call is not supported by glibc.  No declaration is provided in glibc
       headers, but, through a quirk of history, glibc before glibc 2.23 did export  an  ABI  for
       this  system  call.   Therefore, in order to employ this system call, it was sufficient to
       manually declare the interface in your code; alternatively, you could  invoke  the  system
       call using syscall(2).

       In  ancient  libc  versions  (before  glibc  2.0),  uselib()   was used to load the shared
       libraries with names found in an array of names in the binary.

       Начиная с Linux  3.15  данный  системный  вызов  доступен  только,  если  ядро  собрано  с
       параметром CONFIG_USELIB.

СМ. ТАКЖЕ

       ar(1), gcc(1), ld(1), ldd(1), mmap(2), open(2), dlopen(3), capabilities(7), ld.so(8)

ПЕРЕВОД

       Русский    перевод    этой    страницы    руководства    был    сделан   Azamat   Hackimov
       <azamat.hackimov@gmail.com>,   Dmitriy    Ovchinnikov    <dmitriyxt5@gmail.com>,    Dmitry
       Bolkhovskikh  <d20052005@yandex.ru>,  Katrin Kutepova <blackkatelv@gmail.com>, Yuri Kozlov
       <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

       Этот  перевод  является  бесплатной  документацией;  прочитайте  Стандартную  общественную
       лицензию GNU версии 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы
       узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

       Если вы обнаружите ошибки в переводе  этой  страницы  руководства,  пожалуйста,  отправьте
       электронное письмо на ⟨man-pages-ru-talks@lists.sourceforge.net⟩.