nm (Unix)
Apparence
Un article de Wikipédia, l'encyclopédie libre.
Pour les articles homonymes, voir NM.
Cet article est une ébauche concernant l’informatique.
Vous pouvez partager vos connaissances en l’améliorant (comment? ) selon les recommandations des projets correspondants.
nm est un utilitaire Unix servant à examiner les fichiers binaires.
Il fait partie des outils GNU Binutils.
Exemple
[modifier | modifier le code ]Code source :
/* * File name: test.c * For C code compile with: * gcc -c test.c * * For C++ code compile with: * g++ -c test.cpp */ intglobal_var; intglobal_var_init=26; staticintstatic_var; staticintstatic_var_init=25; staticintstatic_function() { return0; } intglobal_function(intp) { staticintlocal_static_var; staticintlocal_static_var_init=5; local_static_var=p; returnlocal_static_var_init+local_static_var; } intglobal_function2() { intx; inty; returnx+y; } #ifdef __cplusplus extern"C" #endif voidnon_mangled_function() { // I do nothing } intmain(void) { global_var=1; static_var=2; return0; }
Si le code est compilé avec le compilateur C gcc, la sortie de la commande nm est :
# nm test.o 0000000aTglobal_function 00000025Tglobal_function2 00000004Cglobal_var 00000000Dglobal_var_init 00000004blocal_static_var.1255 00000008dlocal_static_var_init.1256 0000003bTmain 00000036Tnon_mangled_function 00000000tstatic_function 00000000bstatic_var 00000004dstatic_var_init
Si le compilateur C++ est utilisé, la sortie change :
# nm test.o 0000000aT_Z15global_functioni 00000025T_Z16global_function2v 00000004b_ZL10static_var 00000000t_ZL15static_functionv 00000004d_ZL15static_var_init 00000008b_ZZ15global_functioniE16local_static_var 00000008d_ZZ15global_functioniE21local_static_var_init U__gxx_personality_v0 00000000Bglobal_var 00000000Dglobal_var_init 0000003bTmain 00000036Tnon_mangled_function
La première colonne représente les valeurs des symboles, la seconde leurs types, et la troisième leurs noms[1] .
On peut également voir les fonctions que contient un fichier binaire.
Notes et références
[modifier | modifier le code ]| Aide | ||
|---|---|---|
| Environnement utilisateur | ||
| Gestion de processus | ||
| Manipulation de texte | ||
| Programmation shell | ||
| Recherche | ||
| Réseau | ||
| Système de fichiers | ||
| Divers | ||
Ce document provient de « https://fr.wikipedia.org/w/index.php?title=Nm_(Unix)&oldid=169804530 ».