c++filt(1)
C++FILT(1) - GNU Utvecklingsverktyg
NAMN
c++filt - avmangla C++ och Java-symboler
SYNOPSIS
c++filt [-_ | --strip-underscore] [-n | --no-strip-underscore] [-p | --no-params] [-t | --types] [-i | --no-verbose] [-r | --no-recurse-limit] [-R | --recurse-limit] [-s <format> | --format=<format>] [--help] [--version] [<symbol>...]
BESKRIVNING
C++ och Java tillåter funktionsöverlagring, vilket innebär att du kan ha flera funktioner med samma namn, så länge som parametrarna skiljer sig åt i typ. För att kunna skilja mellan dessa funktioner kodas de till ett lågnivånamn som unikt identifierar varje variant. Denna process kallas mangling. Programmet c++filt utför den omvända processen och avkodar (demangler) namnen tillbaka till användarvänliga format.
Alla alfanumeriska ord i indata som består av bokstäver, siffror, understreck, dollartecken eller punkter behandlas som potentiella manglade namn. Om namnet är ett giltigt C++-namn ersätts det med den demanglade versionen i utdata.
Om inga symbolargument anges, läser c++filt symbolnamn från standardindata och skriver ut demanglade namn till standardutdata.
Exempel:
c++filt _Z1fv
NAMN
c++filt - avkodar C++ och Java-symboler
SYNOPSIS
c++filt [-_ | --strip-underscore] [-n | --no-strip-underscore] [-p | --no-params] [-t | --types] [-i | --no-verbose] [-r | --no-recurse-limit] [-R | --recurse-limit] [-s format | --format=format] [--help] [--version] [symbol...]
BESKRIVNING
C++ och Java tillåter överlagring av funktioner, vilket innebär att du kan ha många funktioner med samma namn så länge de har olika parameterlistor. För att särskilja dessa funktioner kodas de till ett lågnivån namn som unikt identifierar varje version. Denna process kallas för *mangling*. Programmet c++filt gör det omvända, det vill säga avkodar (*demanglar*) lågnivånamn till användarnamn så att de blir läsbara.
Varje alfanumeriskt ord (bestående av bokstäver, siffror, understreck, dollartecken eller punkter) i inmatningen är en potentiell manglad sträng. Om strängen kan avkodas till ett C++-namn, ersätts lågnivånnamnet i utmatningen, annars skrivs det ursprungliga ordet ut. Du kan använda c++filt för att bearbeta hela assemblerkällfiler och se de demanglade namnen i stället.
Du kan också använda c++filt för att avkoda enskilda symboler genom att skicka dem som argument på kommandoraden:
c++filt <symbol>
Om inga symbolargument anges, läser c++filt symbolnamn från standardinmatningen. Resultaten skrivs till standardutmatningen.
ALTERNATIV
- --strip-underscore*_
Tar bort initiala understreck som vissa kompilatorer lägger till framför namn, t.ex. ändras "_foo" till "foo".
- --no-strip-underscore*_
Tar inte bort det initiala understrecket.
- --no-params*_
Vid demangling av ett funktionsnamn, visa inte parametrarnas typer.
- --types*_
Försök att avkoda typer samt funktionsnamn.
- --no-verbose*_
Inkludera inte implementeringsdetaljer i utmatningen.
- --recurse-limit*_
Aktiverar en gräns för rekursion för att undvika stacköverflöden.
- --format=format*_
Välj format för avkodning, till exempel "gnu", "java", eller "arm".
- --help*_
Visa en sammanfattning av alternativen.
- --version*_
Visa versionsnummer.
SE ÄVEN
Info-sidor för binutils.
COPYRIGHT
Copyright (c) 1991-2024 Free Software Foundation, Inc.
Denna manual får kopieras och distribueras under villkoren i GNU Free Documentation License version 1.3 eller senare.
COLOPHON
Denna sida är en del av binutils-projektet (ett verktygspaket för att arbeta med körbara binärfiler). Mer information finns på http://www.gnu.org/software/binutils/.
FOTNOTER
1. MS-DOS tillåter inte "+" i filnamn, så på MS-DOS heter programmet CXXFILT.
SE ÄVEN
- Info-dokumentationen för binutils.
COPYRIGHT
Copyright (c) 1991-2024 Free Software Foundation, Inc.
Denna dokumentation får kopieras, distribueras och/eller modifieras under villkoren i GNU Free Documentation License, version 1.3 eller senare.
COLOPHON
Denna sida är en del av binutils-projektet, en samling verktyg för hantering av exekverbara binärer. För mer information, besök http://www.gnu.org/software/binutils/.
Sidslut
Orginalhemsidan på Engelska :https://man7.org/linux/man-pages/man1/c++filt.1.html
Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp som har sponsrat Linux.se med webbhotell.