Yahoo Clever wird am 4. Mai 2021 (Eastern Time, Zeitzone US-Ostküste) eingestellt. Ab dem 20. April 2021 (Eastern Time) ist die Website von Yahoo Clever nur noch im reinen Lesemodus verfügbar. Andere Yahoo Produkte oder Dienste oder Ihr Yahoo Account sind von diesen Änderungen nicht betroffen. Auf dieser Hilfeseite finden Sie weitere Informationen zur Einstellung von Yahoo Clever und dazu, wie Sie Ihre Daten herunterladen.
Byte-Reihenfolge von gcc erkennen lassen?
Kann man die Byte-Reihenfolge des Systems vom Compiler irgendwie erkennen lassen, ohne "von Hand" etwas ändern zu müssen? Ich meine etwas wie:
#ifdef BIG_ENDIAN
...
#endif
#ifdef NAIDNE_ELTTIL
...
#endif
1 Antwort
- MeMeMeLv 7vor 9 JahrenBeste Antwort
Die Bytereihenfolge wird ja vom Compiler nicht erkannt sondern festgelegt, je nach Zielplattform und ggf. speziellen Buildoptionen. Wie auch immer, es gibt tatsächlich eine Möglichkeit, aber die ist erst ab GCC 4.6 verfügbar und zwar:
#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
// Big Endian spezifischer Code
#elif __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
// Little Endian spezifischer Code.
#endif
Ansonsten hast du noch die Möglichkeit auf bestimmte Zielplattformen testen zu lassen (z.B. __AMD64__), oder das ganze selbst per -D an den Compiler (bzw. Präprozessor) zu senden (z.B. automatisiert im Buildsystem).