2017-01-07 4 views
5

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

+3

die Itanium ABI für C++ nachschlagen, die GCC verwendet. –

Antwort