Nlist, Sous-routine nlist64
Objectif
Extrait les entrées d'une liste de noms.
Bibliothèque
Bibliothèque C standard (libc.a)
Bibliothèque de compatibilité Berkeleylibbsd.a] pour la sous-routine nlist, les programmes 32 bits et la plate-forme basée sur le processeur POWER
Syntaxe
#include <nlist.h>
int nlist ( FileName, NL )
const char *FileName;
struct nlist *NL;
int nlist64 ( FileName, NL64 )
const char *FileName;
struct nlist64 *NL64;Descriptif
Les sous-routines nlist et nlist64 examinent la liste de noms dans le fichier objet nommé par le paramètre FileName . La sous-routine lit de manière sélective une liste de valeurs et les stocke dans un tableau de structures nlist ou nlist64 pointées par le paramètre NL ou NL64 , respectivement.
La liste de noms spécifiée par le paramètre NL ou NL64 se compose d'un tableau de structures Nlist ou nlist64 contenant des noms de symboles et d'autres informations. La liste s'arrête avec un élément ayant un pointeur nul ou un pointeur vers une chaîne nulle dans le membre de structure Nom_nr . Chaque nom de symbole est recherché dans la liste des noms du fichier. Si le nom est trouvé, la valeur du symbole est stockée dans la structure et les autres zones sont renseignes. Si le programme n'a pas été compilé avec l'indicateur -g , la zone Type_n peut être 0.
Si plusieurs instances d'un symbole sont trouvées, les informations relatives à la dernière instance sont stockées. Si aucun symbole n'est trouvé, toutes les zones de structure, à l'exception de la zone Nom_nr , sont définies sur 0. Seuls les symboles globaux seront trouvés.
Les sous-routines nlist et nlist64 s'exécutent dans des programmes 32 bits et 64 bits qui lisent la liste de noms des fichiers objet 32 bits et 64 bits, à une exception près: dans les programmes 32 bits, nlist renvoie -1 si le fichier spécifié est un fichier objet 64 bits.
Les sous-routines Nlist et nlist64 sont utilisées pour lire la liste des noms à partir des fichiers d'objets XCOFF.
La sous-routine nlist64 peut être utilisée pour examiner la liste de noms système conservée dans le noyau, en spécifiant /unix comme paramètre FileName . Le sous-programme Knlist peut également être utilisé pour rechercher des symboles dans l'espace de nom du noyau actuel.
#undef n_nameLa sous-routine nlist dans libbsd.a est prise en charge uniquement en mode 32 bits.
Paramètres
| Article | Descriptif |
|---|---|
| FileName | Indique le nom du fichier contenant une liste de noms. |
| caractère de retour à la ligne | Pointe vers le tableau des structures Nlist . |
| NL64 | Pointe vers le tableau des structures nlist64 . |
Valeurs renvoyées
Une fois l'opération terminée, un 0 est renvoyé, même si certains symboles sont introuvables. Dans la version libbsd.a de nlist, le nombre de symboles non trouvés dans la liste de noms du fichier objet est renvoyé. Si le fichier est introuvable ou s'il ne s'agit pas d'une liste de noms valide, la valeur -1 est renvoyée.
Interfaces de compatibilité
Pour obtenir la version compatible BSD des applications 32 bits, compilez avec la bibliothèque libbsd.a à l'aide de l'indicateur -lbsd .