DetailPage-MSS-KB

Knowledge Base

Artikel-ID: 102025 - Geändert am: Mittwoch, 1. November 2006 - Version: 2.1

 

Auf dieser Seite

Zusammenfassung

Wenn Computer entwerfen, sind zwei verschiedene Architekturen zur Behandlung von Arbeitsspeicher Speicher. Sie werden Big-Endian und Little Endian bezeichnet und verweisen auf die Reihenfolge, in der die Bytes im Speicher gespeichert sind. Windows NT wurde entwickelt, um die Little-Endian-Architektur und wurde nicht entwickelt, um mit Big-Endian kompatibel sein, da die meisten Programme mit einigen Abhängigkeit auf Little Endian geschrieben werden.

Weitere Informationen

Diese beiden Ausdrücke werden von "Big Ende in" und "Persönliche beenden." abgeleitet. Sie verweisen auf die Methode, in der Speicher gespeichert sind. Auf einem Computer mit Intel ist wenig Ende zuerst gespeichert. Dies bedeutet ein Hex-Wort wie 0 im Speicher als (0 x 0 x 34 12) gespeichert wird. Die wenig End oder unteren Ende, wird zuerst gespeichert. Dasselbe gilt für einen 4-Byte-Wert; 0x12345678 würde z. B. als gespeichert werden (0x78 0x56 0 x 34 0 x 12). "Big Ende in" tut dies auf umgekehrte Weise, sodass 0 als (0 x 0 x 12 34) im Arbeitsspeicher gespeichert werden würde. Dies ist die Methode, die von Motorola Computern verwendet werden und kann auch auf RISC-basierten Computern verwendet werden. Die MIPS RISC-basierten Computer und DEC Alpha-Computern sind für Big-Endian oder Little Endian konfigurierbar. Windows NT funktioniert nur in der Little-Endian-Modus auf beiden Computern.

Windows NT wurde entwickelt, um die Little-Endian-Architektur. (Hardware Abstraction Layer, HAL) wird geschrieben, sodass alle Betriebssystem-bezogene Probleme automatisch behandelt werden. Daher ist es möglich, eine HAL zu erstellen, mit denen auf Big-Endian-Architektur arbeiten konnten. Das grundlegende Problem mit Portieren des Codes hat mit der Art und Weise zu tun der Code für alle Programme geschrieben wird. Code wird häufig mit der Annahme geschrieben, Big-Endian oder Little Endian verwendet wird. Dies ist möglicherweise nicht spezifisch für die HAL, sondern konnte etwas so einfach wie Bit Masking für Grafiken. Um weitere dieses Konzept zu erläutern, führen Sie zwei Programmierbeispiele.

Beispiel 1

   struct
   {
      WORD y;
      WORD x;
   } POS;

   lparam = (DWORD) POS;
				
Es ist im Grunde Annahme im Code, dass Little Endian verwendet wird. Das Wechseln der Bytes wird in der Struktur 'C' verwendet wird. Dies ist schneller auf Intel-Architektur, aber funktioniert nicht mit Big-Endian.

Beispiel 2

Ein weiteres Beispiel ist üblich, Verwendung von Bitmasken. Der folgt ein Beispiel des Definierens einer Bitmaske:
   #define BITMASK    0x0008
				
das können Sie überprüfen ob das vierte Bit 1 Wenn ist Sie und es mit einer anderen Zahl. Außerdem können Sie festlegen der 4 bit von Ing oder es mit einem anderen Wert. Das Problem kommt, wenn Sie oder oder und Größe dieser DWORD (Double Word) oder etwas anderes als ein Wort Wert. Dadurch seltsam Dinge passieren und unerwartete Ergebnisse. Können Sie Annahmen über die Funktionsweise mit Little-Endian, aber es wird nicht funktionieren die gleiche Weise mit Big-Endian. Eine große Menge an Code ist bereits mit diese integrierten Annahmen erstellt.

Beachten Sie, dass die PowerPC und SPARC-Chips auch umschaltbare zwischen Little Endian und Big-Endian. Die Apple PowerMac-Implementierung von PowerPC-Chip steckt jedoch im Big-Endian-Modus. Daher kann Windows NT die PowerPC, wahrscheinlich nicht jedoch die PowerMac-Implementierung von der PowerPC port.

Die Informationen in diesem Artikel beziehen sich auf:
  • Microsoft Windows NT Advanced Server 3.1
  • Microsoft Windows NT Workstation 3.1
Keywords: 
kbmt kbhardware KB102025 KbMtde
Maschinell übersetzter ArtikelMaschinell übersetzter Artikel
Wichtig: Dieser Artikel wurde maschinell und nicht von einem Menschen übersetzt. Die Microsoft Knowledge Base ist sehr umfangreich und ihre Inhalte werden ständig ergänzt beziehungsweise überarbeitet. Um Ihnen dennoch alle Inhalte auf Deutsch anbieten zu können, werden viele Artikel nicht von Menschen, sondern von Übersetzungsprogrammen übersetzt, die kontinuierlich optimiert werden. Doch noch sind maschinell übersetzte Texte in der Regel nicht perfekt, insbesondere hinsichtlich Grammatik und des Einsatzes von Fremdwörtern sowie Fachbegriffen. Microsoft übernimmt keine Gewähr für die sprachliche Qualität oder die technische Richtigkeit der Übersetzungen und ist nicht für Probleme haftbar, die direkt oder indirekt durch Übersetzungsfehler oder die Verwendung der übersetzten Inhalte durch Kunden entstehen könnten.
Den englischen Originalartikel können Sie über folgenden Link abrufen: 102025  (http://support.microsoft.com/kb/102025/en-us/ )
Microsoft stellt Ihnen die in der Knowledge Base angebotenen Artikel und Informationen als Service-Leistung zur Verfügung. Microsoft übernimmt keinerlei Gewährleistung dafür, dass die angebotenen Artikel und Informationen auch in Ihrer Einsatzumgebung die erwünschten Ergebnisse erzielen. Die Entscheidung darüber, ob und in welcher Form Sie die angebotenen Artikel und Informationen nutzen, liegt daher allein bei Ihnen. Mit Ausnahme der gesetzlichen Haftung für Vorsatz ist jede Haftung von Microsoft im Zusammenhang mit Ihrer Nutzung dieser Artikel oder Informationen ausgeschlossen.
Freigeben
Weitere Supportoptionen
Microsoft Community-Supportforen
Kontaktieren Sie uns direkt
Zertifizierten Partner finden
Microsoft Store
Folgen Sie uns: