Date création : 27-03-2008 20:23:44
 Vous êtes dans : GNU/Linux Astuces / Pages man [Section2 - Appels système]
USELIB
Index
- NOM
- SYNOPSIS
- DESCRIPTION
- VALEUR RENVOYÉE
- ERREURS
- CONFORMITÉ
- NOTES
- VOIR AUSSI
- TRADUCTION
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
En cas de réussite, zéro est renvoyé, sinon -1 est renvoyé et errno
contient le code d'erreur.
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. (Voir aussi path_resolution(2).)
- 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 doit 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), capability(7), ld.so(8)
TRADUCTION
Cette page de manuel a été traduite et mise à jour par
Christophe Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003,
puis par Alain Portal <aportal AT univ-montp2 DOT fr> jusqu'en 2006.
La traduction de cette page de manuel est basée sur les traductions
disponibles sur http://manpagesfr.free.fr/,
mais est gérée par l'équipe francophone de traduction de Debian
au travers de la liste de discussion debian-l10n-french.
Veuillez signaler toute erreur de traduction 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> ».
|