Bleiben C ++ - Vererbte Namen, wenn sie auf verschiedenen Computern zusammengestellt werden?
-
27-10-2019 - |
Frage
Im Allgemeinen habe ich mithilfe dessen beobachtet nm
Unter Linux ist das T
Symbolnamen (an denen ich interessiert bin) bleiben über verschiedene Computer hinweg konsistent extern "C"
. Ist meine Beobachtung korrekt?
Notiz Ich benutze GCC auf allen Computern.
Lösung
Es wäre sehr ungewöhnlich für den Computer, die Tageszeit oder das Wetter, den Namen zu beeinflussen.
Was eher Abweichungen verursacht, sind Unterschiede in der Compiler -Version.
Viele Linux -Plattformen definieren jedoch eine ABI (Application Binary Interface) für C ++, die unter anderem den Namen des Namens der Mangling enthält. Auf diesen Plattformen wird derselbe Quellcode unabhängig von Optimierungsstufen, Compiler -Versionen, dem Hostnamen, der Seriennummer der Festplatten, der Tageszeit, des Wetters, der Verlust Ihres Lieblingssportteam Explizit im ABI erwähnt.