Provided by: manpages-fr-dev_3.65d1p1-1_all bug

NOM

       uselib - Sélectionner une bibliothèque partagée

SYNOPSIS

       #include <unistd.h>

       int uselib(const char *library);

DESCRIPTION

       L'appel système uselib() permet de charger une bibliothèque partagée qui sera utilisée par
       le processus appelant. Il prend un chemin de fichier comme argument. L'adresse où  charger
       la  bibliothèque  est  trouvée  dans la bibliothèque elle-même. La bibliothèque peut avoir
       n'importe quel format de binaire reconnu.

VALEUR RENVOYÉE

       S'il réussit, cet appel système renvoie 0. S'il échoue, il renvoie -1 et remplit errno  en
       conséquence.

ERREURS

       En  plus  de  toutes les erreurs déclenchées par open(2) et mmap(2), les erreurs suivantes
       peuvent se produire :

       EACCES La bibliothèque indiquée  par  library  n'est  pas  accessible  en  lecture  ou  en
              écriture, ou l'appelant n'a pas la permission de parcours pour l'un des répertoires
              du chemin. (Consultez aussi path_resolution(7).)

       ENFILE La limite du nombre total de fichiers ouverts sur le système a été atteinte.

       ENOEXEC
              Le fichier décrit par library n'est pas un exécutable de type  connu  (par  exemple
              n'a pas le bon nombre magique).

CONFORMITÉ

       uselib()  est  spécifique  à  Linux  et  ne  devrait  pas être employé dans des programmes
       destinés à être portables.

NOTES

       uselib() était utilisé par le code de démarrage d'anciennes versions de libc pour  charger
       les bibliothèques partagées dont les noms se trouvaient dans un tableau dans le binaire.

       Depuis  libc  4.3.2,  le  code  de  démarrage essaie de préfixer ces noms avec "/usr/lib",
       "/lib" puis "" avant d'abandonner. À partir de la libc 4.3.4,  ces  noms  sont  recherchés
       dans  les répertoires listés dans la variable LD_LIBRARY_PATH, et les préfixes "/usr/lib",
       "/lib" et "/" sont essayés ensuite si la bibliothèque n'a pas été trouvée.

       À partir de la libc 4.4.4, seule la bibliothèque  « /lib/ld.so »  est  chargée,  afin  que
       cette  bibliothèque  dynamique puisse charger les autres bibliothèques requises (à nouveau
       avec cette fonction). Ceci est également valable pour libc5.

       glibc2 n'utilise pas cette fonction.

VOIR AUSSI

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

COLOPHON

       Cette page fait partie de la publication 3.65 du projet man-pages Linux.  Une  description
       du  projet  et  des  instructions  pour  signaler  des  anomalies  peuvent être trouvées à
       l'adresse http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Depuis   2010,   cette   traduction   est   maintenue   à   l'aide   de    l'outil    po4a
       <http://po4a.alioth.debian.org/>  par l'équipe de traduction francophone au sein du projet
       perkamon <http://perkamon.alioth.debian.org/>.

       Christophe   Blaess   <http://www.blaess.fr/christophe/>   (1996-2003),    Alain    Portal
       <http://manpagesfr.free.fr/>  (2003-2006).  Julien  Cristau  et  l'équipe  francophone  de
       traduction de Debian (2006-2009).

       Veuillez     signaler     toute     erreur     de     traduction     en     écrivant     à
       <debian-l10n-french@lists.debian.org>   ou   par   un  rapport  de  bogue  sur  le  paquet
       manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de  ce  document  en  utilisant  la
       commande « man -L C <section> <page_de_man> ».