Frage

Ich bekomme einen ziemlich langen und verwirrenden Link-Fehler und würde ihn lieben, wenn ich es einfach in ein Textfeld auf einer Website einfügen und die Namen für mich nicht mangeln lassen könnte.

Kennt jemand einen solchen Service?

War es hilfreich?

Lösung

Ich habe eine solche Online -Serivice erstellt: http://demangler.com

Dies ist ein GCC C ++ -Symbol Demangler. Sie kopieren einfach eine Stapelverfolgung oder die Ausgabe von NM in ein Textfeld, und es gibt die Ausgabe mit den Namen zurück.

@Update: Es wird jetzt auch MSVC- und Java -Symbole entmischt.

Andere Tipps

Dies mag ein bisschen spät sein, aber ich habe eine erstellt, basierend auf dieser Frage. Es funktioniert mit den Eingaben, die ich ausprobiert habe, unterstützt G ++ und MSVC ++ über __cxa_demangle und __undname, kompiliert mit JavaScript über EMSCIPTEN. Hoffe das hilft jemandem: C ++ filtjs

Bearbeiten: Fixes Fluchtproblem

Die meisten (wenn nicht alle) C ++ - Compiler kommen mit c++filt Werkzeug, das genau das tut, wonach Sie anscheinend suchen.

Wenn Sie es bei der Maus klicken möchten ... schreiben Sie eine GUI dafür;)

Es gibt zwei Online-Lösungen für Kopien und Paste:

Wenn Sie nur Unterstützung für GCC und Clang benötigen, haben Sie auch die Möglichkeit, zu verwenden Coliru, was wahrscheinlich das vielseitigste ist Online -C ++ - Compiler.

Dies ist nicht ganz so einfach wie das Schneiden, Einfügen und Klicken - aber nicht zu viel härter - und es sieht so aus, als ob es keine Probleme mit Vorlagenparametern gibt, wie oben erwähnt wurde. Sie müssen nur die Befehlszeile ändern, um so etwas auszuführen:

cat main.cpp | c++filt -t

Sehen Sie es mit diesem Beispiel live Welche Demangles:

_Z6kernelIfLj3EEvPT_5arrayIPKS0_XT0_EES5_S2_IjXT0_EES6_S0_

zu:

void kernel<float, 3u>(float*, array<float const*, 3u>, array<float const*, 3u>, array<unsigned int, 3u>, array<unsigned int, 3u>, float)
           ^^^^^^^^^^^

Zu Ihrer Information, es gibt auch ein Ruby -Edelstein, um Borland/MS/was auch immer verstümmelte Namen zu demangle: Unmangler

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top