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

НАИМЕНОВАНИЕ

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

ОБЗОР

       #include <unistd.h>

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

ОПИСАНИЕ

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

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

       При успешном выполнении возвращается 0. При ошибке возвращается -1, а в errno содержится код ошибки.

ОШИБКИ

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

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

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

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

СТАНДАРТЫ

       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> и Kirill
       Rekhov <krekhov.dev@gmail.com>

       Этот перевод является свободной программной документацией; он распространяется на условиях  общедоступной
       лицензии  GNU  (GNU  General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или
       более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

       Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите  об  этом
       разработчику(ам)   по   его(их)  адресу(ам)  электронной  почты  или  по  адресу  списка рассылки русских
       переводчиков.

Справочные страницы Linux 6.9.1                   2 мая 2024 г.                                        uselib(2)