Share via


Abstrakte Datenmodelle

Jede Anwendung und jedes Betriebssystem verfügt über ein abstraktes Datenmodell. Viele Anwendungen machen dieses Datenmodell nicht explizit verfügbar, aber das Modell leitet die Art und Weise, wie der Code der Anwendung geschrieben wird. Im 32-Bit-Programmiermodell (bekannt als ILP32-Modell) sind die Datentypen Ganzzahl, Long und Zeiger 32 Bit lang. Die meisten Entwickler haben dieses Modell verwendet, ohne es zu merken. Für den Verlauf der Win32-API ist dies eine gültige (wenn auch nicht unbedingt sichere) Annahme.

In 64-Bit-Windows ist diese Annahme der Parität bei Datentypgrößen ungültig. Wenn alle Datentypen eine Länge von 64 Bit aufweisen, wird Speicherplatz verschwendet, da die meisten Anwendungen die erhöhte Größe nicht benötigen. Anwendungen benötigen jedoch Zeiger auf 64-Bit-Daten, und sie benötigen in ausgewählten Fällen die Möglichkeit, 64-Bit-Datentypen zu haben. Diese Überlegungen führten zur Auswahl eines abstrakten Datenmodells namens LLP64 (oder P64). Im LLP64-Datenmodell werden nur Zeiger auf 64 Bit erweitert. alle anderen grundlegenden Datentypen (integer und long) bleiben 32 Bit lang.

Anfangs wurden die meisten Anwendungen, die unter 64-Bit-Windows ausgeführt werden, von 32-Bit-Windows portiert. Es ist ein Ziel, dass dieselbe Quelle, sorgfältig geschrieben, sowohl unter 32- als auch unter 64-Bit-Windows ausgeführt wird. Das Definieren des Datenmodells erleichtert diese Aufgabe nicht. Die Sicherstellung, dass sich das Datenmodell nur auf Zeigerdatentypen auswirkt, ist jedoch der erste Schritt. Der zweite Schritt besteht darin, eine Reihe neuer Datentypen zu definieren, mit denen Entwickler ihre zeigerbezogenen Daten automatisch vergrößern können. Dadurch können Daten, die Zeigern zugeordnet sind, die Größe ändern, wenn sich die Zeigergröße von 32 Bit auf 64 Bit ändert. Grundlegende Datentypen bleiben 32 Bit lang, sodass sich die Größe der Daten auf dem Datenträger, der über ein Netzwerk freigegebenen Daten oder der über Speicher zugeordneten Dateien freigegebenen Daten nicht ändert. Dies entlastet Entwickler von einem Großteil des Aufwands beim Portieren von 32-Bit-Code auf 64-Bit-Windows.

Diese neuen Datentypen wurden den Windows-API-Headerdateien hinzugefügt. Daher können Sie jetzt mit der Verwendung der neuen Typen beginnen. Weitere Informationen finden Sie unter Die neuen Datentypen.