Wahrscheinlich die meiste Zeit, aber setzen Sie die Farm nicht darauf, denn wenn Sie sich irren, verlieren Sie viel.
Wenn Sie wirklich, wirklich identische Binärinformationen benötigen, müssen Sie Bitfelder mit Bitmasken erstellen - z. B. verwenden Sie einen vorzeichenlosen Kurzschluss (16 Bit) für die Nachricht und erstellen dann versionMask = 0xE000, um die drei obersten Bits darzustellen.
Es gibt ein ähnliches Problem bei der Ausrichtung innerhalb von Strukturen. Zum Beispiel sind Sparc-, PowerPC- und 680x0-CPUs alle Big-Endian-CPUs, und die übliche Standardeinstellung für Sparc- und PowerPC-Compiler besteht darin, Strukturelemente an 4-Byte-Grenzen auszurichten. Ein Compiler, den ich für 680x0 verwendet habe, ist jedoch nur an 2-Byte-Grenzen ausgerichtet - und es gab keine Option, die Ausrichtung zu ändern!
Bei einigen Strukturen sind die Größen bei Sparc und PowerPC identisch, bei 680 x 0 jedoch kleiner, und einige der Mitglieder befinden sich in unterschiedlichen Speicherversätzen innerhalb der Struktur.
Dies war ein Problem bei einem Projekt, an dem ich gearbeitet habe, da ein auf Sparc ausgeführter Serverprozess einen Client abfragte und herausfand, dass es sich um Big-Endian handelte, und davon ausging, dass er nur binäre Strukturen im Netzwerk herausspritzen und der Client damit umgehen konnte. Und das funktionierte gut auf PowerPC-Clients und stürzte auf 680x0-Clients stark ab. Ich habe den Code nicht geschrieben und es hat eine ganze Weile gedauert, bis ich das Problem gefunden habe. Aber es war einfach zu reparieren, sobald ich es tat.