Was zu tun ist, um der Anwendung Große Adresse Wissen?

Ich bin derzeit in den Prozess der Herstellung unserer Anwendung Large Address Aware. Wie die Erfahrung gezeigt hat, gibt es einige unerwartete Fallstricke dabei. Ich erstelle diesen post, um eine vollständige Liste der Schritte, die ergriffen werden müssen.

Die Entwicklung überlegungen aufgeführt, die in der AMD Large Adresse Aware guide bieten einen guten Ausgangspunkt, aber keineswegs vollständig:

Die folgenden überlegungen sollen helfen, um sicherzustellen, dass der code verarbeiten kann Adressen, die größer als 2GB:

  • Vermeiden Sie die Verwendung von signierten Zeiger-Arithmetik (I. e. vergleicht und ergänzt)
  • Zeiger verwenden, alle 32-bit. Verwenden Sie nicht Bit31 für etwas anderes.
  • Einige dll ' s geladen werden, die gerade unter der 2GB-Grenze. In diesem Fall, keine aufeinander folgenden Speicher zugeordnet werden kann mit VirtualAlloc().
  • Wann immer möglich, verwende GlobalMemoryStatusEx() (bevorzugt) oder GlobalMemoryStatus() zum abrufen von Speicher-Größen.

Daher ist die Frage: "Was ist die komplette Liste der Dinge, die getan werden müssen, wenn was C++ Win32 native Anwendung Large Adresse Aware?

InformationsquelleAutor Suma | 2010-06-24
Schreibe einen Kommentar