c++filt(1): Skillnad mellan sidversioner

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök
(Skapade sidan med '== 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...')
 
Ingen redigeringssammanfattning
 
(4 mellanliggande sidversioner av samma användare visas inte)
Rad 1: Rad 1:
== C++FILT(1) - GNU Utvecklingsverktyg ==
== c++filt(1) — Linux manual sida ==


=== NAMN ===
=== NAMN ===
'''c++filt''' - avmangla C++ och Java-symboler
 
c++filt - avkodar (demanglar) C++- och Java-symboler


=== SYNOPSIS ===
=== SYNOPSIS ===
c++filt [-_ | --strip-underscore]
 
        [-n | --no-strip-underscore]
<pre>
        [-p | --no-params]
c++filt [-_ | --strip-underscore]
        [-t | --types]
        [-n | --no-strip-underscore]
        [-i | --no-verbose]
        [-p | --no-params]
        [-r | --no-recurse-limit]
        [-t | --types]
        [-R | --recurse-limit]
        [-i | --no-verbose]
        [-s <format> | --format=<format>]
        [-r | --no-recurse-limit]
        [--help]  [--version]  [<symbol>...]
        [-R | --recurse-limit]
        [-s format | --format=format]
        [--help]  [--version]  [symbol ...]
</pre>


=== BESKRIVNING ===
=== 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.
Programmen C++ och Java stöder funktionsöverlagring, vilket innebär att flera funktioner kan ha samma namn men olika parameterlistor. För att skilja dessa funktioner åt kodas deras namn till unika assemblernamn genom en process som kallas ''mangling''. '''c++filt''' gör motsatsen: den avkodar (''demanglar'') de lågnivåkodade namnen till användarvänliga namn.
 
Varje ord som består av bokstäver, siffror, understreck, dollartecken eller punkter identifieras som ett potentiellt manglat namn. Om det kan avkodas till ett C++-namn ersätts det, annars skrivs det ut oförändrat. Detta gör att hela assemblerkällfiler kan skickas genom '''c++filt''' för att ersätta de manglede namnen med läsbara namn.
 
Man kan även mata in enstaka symboler:


Om inga symbolargument anges, läser '''c++filt''' symbolnamn från standardindata och skriver ut demanglade namn till standardutdata.
<pre>
c++filt &lt;symbol&gt;
</pre>


Exempel:
Om inga symboler anges på kommandoraden, läses symboler från standardinmatningen och resultaten skrivs ut på standardutmatningen.
c++filt _Z1fv


=== ALTERNATIV ===
=== ALTERNATIV ===
* '''-_''', '''--strip-underscore'''
  * Tar bort initiala understreck i namn, vilket kan användas i vissa system.


* '''-n''', '''--no-strip-underscore'''
==== -_ / --strip-underscore ====
  * Tar inte bort initiala understreck.
 
Tar bort inledande understreck från namn (gäller för vissa system).
 
==== -n / --no-strip-underscore ====
 
Tar inte bort inledande understreck.
 
==== -p / --no-params ====
 
Vid avkodning av funktionsnamn, visa inte parametrarnas typer.
 
==== -t / --types ====
 
Avkodar även datatyper, inte bara funktionsnamn.
 
==== -i / --no-verbose ====
 
Exkludera implementationsdetaljer i avkodningen.


* '''-p''', '''--no-params'''
==== -r / -R / --recurse-limit / --no-recurse-limit ====
  * Vid demangling av funktionsnamn visas inte funktionsparametrarnas typer.


* '''-t''', '''--types'''
Aktiverar eller inaktiverar en gräns för rekursion vid avkodning. Standardgränsen är 2048 nivåer.
  * Försöker demangla typer samt funktionsnamn.


* '''-i''', '''--no-verbose'''
==== -s format / --format=format ====
  * Visar inte implementationsdetaljer i utdata.


* '''-r''', '''--no-recurse-limit'''
Väljer kodningsformat:
  * Inga begränsningar för rekursion vid demangling.
* ''gnu'' - GNU C++ (standard)
* ''lucid'' - Lucid-kompilatorn
* ''arm'' - C++ Annotated Reference Manual
* ''hp'' - HP:s kompilator
* ''edg'' - EDG-kompilatorn
* ''gnu-v3'' - GNU C++ V3 ABI
* ''java'' - GNU Java (gcj)
* ''gnat'' - GNU Ada (GNAT)


* '''-R''', '''--recurse-limit'''
==== --help ====
  * Begränsar rekursion till 2048 nivåer.


* '''-s <format>''', '''--format=<format>'''
Skriver ut en sammanfattning av alternativen och avslutar.
  * Anger demanglingsformat:
    * "gnu" - Använt av GNU C++-kompilatorn.
    * "java" - Använt av GNU Java-kompilatorn.


* '''--help'''
==== --version ====
  * Visar en kort hjälptext och avslutar.


* '''--version'''
Skriver ut versionsinformationen och avslutar.
  * Visar versionsnumret och avslutar.


=== FOTNOTER ===
=== SE OCKSÅ ===
1. MS-DOS tillåter inte "+" i filnamn, så på MS-DOS heter programmet '''CXXFILT'''.


=== SE ÄVEN ===
* [[binutils]]
* Info-dokumentationen för ''binutils''.


=== COPYRIGHT ===
=== COPYRIGHT ===
Copyright (c) 1991-2024 Free Software Foundation, Inc.
 
Copyright (c) 1991-2025 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.
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/ http://www.gnu.org/software/binutils/].
 


= Sidslut =
= Sidslut =

Nuvarande version från 18 februari 2025 kl. 18.34

c++filt(1) — Linux manual sida

NAMN

c++filt - avkodar (demanglar) 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

Programmen C++ och Java stöder funktionsöverlagring, vilket innebär att flera funktioner kan ha samma namn men olika parameterlistor. För att skilja dessa funktioner åt kodas deras namn till unika assemblernamn genom en process som kallas mangling. c++filt gör motsatsen: den avkodar (demanglar) de lågnivåkodade namnen till användarvänliga namn.

Varje ord som består av bokstäver, siffror, understreck, dollartecken eller punkter identifieras som ett potentiellt manglat namn. Om det kan avkodas till ett C++-namn ersätts det, annars skrivs det ut oförändrat. Detta gör att hela assemblerkällfiler kan skickas genom c++filt för att ersätta de manglede namnen med läsbara namn.

Man kan även mata in enstaka symboler:

c++filt <symbol>

Om inga symboler anges på kommandoraden, läses symboler från standardinmatningen och resultaten skrivs ut på standardutmatningen.

ALTERNATIV

-_ / --strip-underscore

Tar bort inledande understreck från namn (gäller för vissa system).

-n / --no-strip-underscore

Tar inte bort inledande understreck.

-p / --no-params

Vid avkodning av funktionsnamn, visa inte parametrarnas typer.

-t / --types

Avkodar även datatyper, inte bara funktionsnamn.

-i / --no-verbose

Exkludera implementationsdetaljer i avkodningen.

-r / -R / --recurse-limit / --no-recurse-limit

Aktiverar eller inaktiverar en gräns för rekursion vid avkodning. Standardgränsen är 2048 nivåer.

-s format / --format=format

Väljer kodningsformat:

  • gnu - GNU C++ (standard)
  • lucid - Lucid-kompilatorn
  • arm - C++ Annotated Reference Manual
  • hp - HP:s kompilator
  • edg - EDG-kompilatorn
  • gnu-v3 - GNU C++ V3 ABI
  • java - GNU Java (gcj)
  • gnat - GNU Ada (GNAT)

--help

Skriver ut en sammanfattning av alternativen och avslutar.

--version

Skriver ut versionsinformationen och avslutar.

SE OCKSÅ

COPYRIGHT

Copyright (c) 1991-2025 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.



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.