Freigeben über


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 führt die Art und Weise, in der der Code der Anwendung geschrieben wird. Im 32-Bit-Programmiermodell (als ILP32-Modell bezeichnet) sind ganzzahlige, lange und Zeigerdatentypen 32 Bit lang. Die meisten Entwickler haben dieses Modell verwendet, ohne es zu erkennen. Für den Verlauf der Win32-API ist dies eine gültige (obwohl nicht unbedingt sichere) Annahme.

In 64-Bit-Windows ist diese Annahme der Parität in Datentypgrößen ungültig. Wenn alle Datentypen 64 Bit lang sind, würde Platz verschwendet, da die meisten Anwendungen nicht die erhöhte Größe benötigen. Anwendungen benötigen jedoch Zeiger auf 64-Bit-Daten, und sie benötigen die Möglichkeit, in ausgewählten Fällen über 64-Bit-Datentypen zu verfügen. Diese Überlegungen führten zur Auswahl eines abstrakten Datenmodells namens LLP64 (oder P64). Im LLP64-Datenmodell erweitern sich nur Zeiger auf 64 Bit; Alle anderen grundlegenden Datentypen (ganzzahlig und lang) bleiben 32 Bit lang.

Zunächst wurden die meisten Anwendungen, die unter 64-Bit-Windows ausgeführt werden, von 32-Bit-Windows portiert. Es ist ein Ziel, dass die gleiche Quelle, sorgfältig geschrieben, sowohl auf 32- als auch auf 64-Bit-Windows ausgeführt werden soll. Das Definieren des Datenmodells erleichtert diese Aufgabe nicht. Die Sicherstellung, dass sich das Datenmodell jedoch nur auf Zeigerdatentypen auswirkt, ist der erste Schritt. Der zweite Schritt besteht darin, eine Reihe neuer Datentypen zu definieren, mit denen Entwickler ihre zeigerbezogenen Daten automatisch anpassen 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, daher gibt es keine Änderung der Größe von Daten auf dem Datenträger, daten, die über ein Netzwerk freigegeben wurden, oder Daten, die über Speicher zugeordnete Dateien freigegeben wurden. Dies erleichtert Entwicklern einen Großteil des Aufwands beim Portieren von 32-Bit-Code zu 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.