Umschaut, sehe ich meist Fragen über C++ - Symbole zu entmachten und nicht wie sie zu mahlen. Ja, man könnte g++
unter Verwendung der Option -S
auf Dummy-Code aufrufen, der die zu verfälschenden Symbole enthält, und dann die resultierende Assembly untersuchen, aber ich konnte keine gute Referenz oder Spezifikation für den GCC-Namen Mangling finden. Die nächste Sache, die ich finden konnte, war bei http://www.int0x80.gr/papers/name_mangling.pdf, aber es scheint nicht zu decken Dinge wie Template-Instanziierungen Namen gemangle oder warum _Z3fooIN3BarEE3FooIXT_EEv
würde in Foo<Bar> foo<Bar>()
übersetzen (obwohl ich irgendwie sehen kann, wie, aber was zum Teufel ist IXT_EE
? Warum? Gibt es keine N
nach der _Z
in dieser? Was ist das überhaupt gemein?).GCC C++ Name Mangling Referenz
5
A
Antwort
9
Zitat von gcc Quellen (https://github.com/gcc-mirror/gcc/blob/master/gcc/cp/mangle.c):
Diese Datei implementiert Mangeln von C++ Namen nach dem IA64 C++ ABI-Spezifikation.
Und hier ist die Regeln dieser Spezifikation: https://itanium-cxx-abi.github.io/cxx-abi/abi.html#mangling
Verwandte Themen
- 1. C++ Name Mangling von Hand
- 2. Python-Name Mangling-Funktion
- 3. CSS Selektor Name Mangling?
- 4. C++ Name Mangling-Decoder für g ++?
- 5. Ist C++ Name Mangling (Dekoration) deterministisch?
- 6. Exportierte Funktion Symbol Name Mangling
- 7. Warum Name Mangling nicht standardisiert
- 8. gcc/C++ - undefined Referenz/Klassenfehler
- 9. Python "private" Name Mangling und Instanz vs Klasse Attribute
- 10. Warum wird Name Mangling mit der Funktion WinMain() verwendet?
- 11. Fehler kompilieren gcc: undefined Referenz
- 12. C++ 11: GCC 4.8 statische thread_local std :: unique_ptr undefined Referenz
- 13. UglifyJS property mangling
- 14. Referenz Interpretation in C++
- 15. Referenz Name Fall ist nicht CLS-kompatibel
- 16. C++ Rückgabewert, Referenz, Konstante Referenz
- 17. Angeben Abschnitt Name für Code in GCC
- 18. C++ Warum Referenz verwenden?
- 19. C++ GL Linker undefined Referenz
- 20. Bindestrich in DLL-Name für VS Referenz
- 21. C# Fehlende Referenz
- 22. C++ gcc String inlining
- 23. Instruct GCC als C++
- 24. SCons: GCC Ignorieren -c
- 25. GCC C++ Ausnahmebehandlung Implementierung
- 26. C Funktionsausrichtung in GCC
- 27. C Headers (GCC)
- 28. Referenz auf eine Referenz in C++
- 29. OSX 10.5 Leopard Symbol Mangling mit $ non_lazy_ptr
- 30. C# Projekt Referenz Frage
die Itanium ABI für C++ nachschlagen, die GCC verwendet. –