Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

nm - Symboltabelle einer Objektdatei ausgeben

&pagelevel(4)&pagelevel

(write the name list of an object file)


Das Kommando nm gibt die Symboltabelle aus, die in der durch datei angegebenen Objektdatei, ausführbaren Datei oder Objektdatei-Bibliothek enthalten ist.

Enthält eine gültige Eingabedatei keine Symbolinformationen, wird dies von nm ausgegeben.


Syntax


nm[ -APv][ -efox][ -g| -u][ -t format] datei...

Optionen:

-A

in jeder Zeile den vollen Pfadnamen bzw. Bibliotheksnamen eines Objekts ausgeben

-e

ausschließliche Ausgabe von externen (globale) und statischen Symbolen.

-f

erzeugt eine vollständige Ausgabe. Redundante Symbole (wie z.B. .text, .data und .bss), die normalerweise unterdrückt werden, werden mit ausgegeben.

-g

nur externe (globale) Symbole ausgeben

-o

Wert und Größe eines Symbols in Oktal- statt in Dezimalform ausgeben (gleichbedeutend mit -t o)

-P

Ausgabe in einem portierbaren Format erstellen (siehe Ausgabe).

-t format

Ausgabeformat von Wert und Größe eines Symbols festlegen:

dWert und Größe werden dezimal ausgegeben (Standard)
oWert und Größe werden oktal ausgegeben (entspricht -o)

x

Wert und Größe werden hexadezimal ausgegeben (entspricht -x)

-u

nur undefinierte Symbole ausgeben

-v

externe Symbole vor der Ausgabe nach ihrem Wert sortieren (statt alphabetisch)

-x

Wert und Größe eines Symbols in Hexadezimal- statt in Dezimalform ausgeben (gleichbedeutend mit -t x)

datei

Pfadname einer Objektdatei, einer ausführbaren Datei oder einer Objektdatei-Bibliothek.

Ausgabe

Für jedes Symbol werden folgende Informationen ausgegeben:

  • Bibliotheksname oder Objektname, wenn -A angegeben ist.

  • Symbolname

  • Symboltyp, der aus einem der folgenden einzelnen Zeichen bestehen kann:

    Aabsolutes Symbol global
    aabsolutes Symbol lokal
    Bbss Symbol global
    bbss Symbol lokal
    DDatenobjekt-Symbol global
    dDatenobjekt-Symbol lokal
    TTextobjekt-Symbol global
    tTextobjekt-Symbol lokal

    U

    undefiniertes Symbol

  • Wert des Symbols

  • Größe in Bytes, die mit dem Symbol assoziiert ist (wenn vorhanden)


Ist die Option -P angegeben, werden die Informationen in einem portierbaren Format ausgegeben. Die drei Formate unterscheiden sich nur, ob für -t eine dezimale, oktale oder hexadezimale Darstellung gewählt wurde.
Ist -t nicht angegeben, wird implizit -t x angenommen.


"%s%s %s %d %d\n", Bibliotheks-/Objektname,   Symbolname,   Typ,   Wert,   Größe

"%s%s %s %o %o\n", Bibliotheks-/Objektname,   Symbolname,   Typ,   Wert,   Größe

"%s%s %s %x %x\n", Bibliotheks-/Objektname,   Symbolname,   Typ,   Wert,   Größe


wobei Bibliotheks-/Objektname folgendermaßen formatiert wird:


  • ist -A nicht angegeben, ist Bibliotheks-/Objektname die leere Zeichenkette

  • ist -A angegeben und ist datei keine Bibliothek
    "%s: ", datei

  • ist -A angegeben und datei kennzeichnet eine Bibliothek. Dann wird für objektname die Objektdatei ausgegeben, die in der Bibliothek das Symbol enthält:
    "%s[%s]: ", datei , objektdatei

Internationale Umgebung

Die folgenden Umgebungsvariablen beeinflussen die Ausführung des Kommandos nm:

LANG

Gibt einen Standardwert für die Variablen für die internationale Umgebung an, die nicht gesetzt oder Null sind. Ist LANG nicht gesetzt oder Null, wird der entsprechende Standardwert der internationalen Umgebung verwendet. Enthält eine der Internationalisierungsvariablen eine ungültige Einstellung, verhält sich das Kommando so, als sei keine der Variablen definiert worden.

LC_ALL

Ist diese Variable auf einen Wert gesetzt, d. h. ist sie nicht leer, überschreibt dieser Wert die Werte aller übrigen Internationalisierungsvariablen.

LC_COLLATE

Legt die internationale Umgebung für Symbolname und Symbolwert fest.

LC_CTYPE

Legt die internationale Umgebung für die Interpretation der Byte-Folgen eines Datentexts als Zeichen fest (z.B. Singlebytezeichen im Unterschied zu Mehrbytezeichen in Argumenten und Eingabedateien) sowie die Einteilung der Zeichen in Groß- und Kleinbuchstaben und deren Übereinstimmung.

LC_MESSAGES

Legt die internationale Umgebung für Format und Inhalt der Diagnosemeldungen fest, die in die Standardfehlerausgabe geschrieben werden.

NLSPATH

Legt den Pfad der Meldungsdateien für LC_MESSAGES fest.

Siehe auch

ar

c89 [5]