Cos'è nm?

Ecco le informazioni su nm in formato Markdown, con link agli argomenti importanti:

nm è un comando Unix che visualizza i simboli di un file oggetto, di un eseguibile o di una libreria. È particolarmente utile per il debugging, l'analisi e la comprensione del funzionamento interno dei programmi. Analizza i file oggetto e presenta informazioni sulle varie tipologie di simboli che vi sono contenuti.

Funzionalità Principali:

Opzioni Comuni:

  • -a o --debug-syms: Visualizza tutti i simboli, inclusi quelli di debug.
  • -g o --global: Visualizza solo i simboli globali (esterni).
  • -u o --undefined-only: Visualizza solo i simboli non definiti.
  • -n o --numeric-sort: Ordina i simboli numericamente in base al loro indirizzo.
  • -r o --reverse-sort: Inverte l'ordine di ordinamento.
  • -C o --demangle: Decodifica i nomi dei simboli C++. https://it.wikiwhat.page/kavramlar/Demangling
  • -l o --line-numbers: Per ogni simbolo, tenta di stampare il nome del file sorgente e il numero di riga.

Esempio di Utilizzo:

nm mio_programma.o
nm libmia_libreria.a
nm mio_eseguibile

Utilità:

nm è uno strumento potente per:

  • Debugging: Identificare simboli mancanti o non definiti.
  • Analisi: Comprendere la struttura interna di un programma.
  • Ottimizzazione: Localizzare le sezioni di codice o dati che occupano più spazio.
  • Risoluzione dei Problemi di Linking: Verificare la presenza di dipendenze irrisolte tra i file oggetto. https://it.wikiwhat.page/kavramlar/Linking