Entwickler-Ecke
Off Topic - Speicherbedarf unter Win XP
CarpeDiem - Di 09.12.08 19:16
Titel: Speicherbedarf unter Win XP
Hallo,
eine kleine Anfängerfrage. Wieviel Speicherplatz braucht eine Integer(eigentlich int16 von früher) unter Win XP. Dachte immer, daß Win XP eine 32bit-Architektur hat und deshalb auch für int16 32bit reserviert. Weiß jemand was genaues?
Vielen Dank.
jaenicke - Di 09.12.08 19:29
Das hat mit Windows nix direkt zu tun sondern mit der Speicherverwaltung des Programms. Bei Records nutzt Delphi z.B. normalerweise 4 Byte Alignment, es sei denn man schreibt packed record, was alles hintereinander in den Speicher zwingt.
Grundsätzlich kannst du auf Assemblerebene ja entweder ein komplettes 32-Bit Register ansprechen oder nur einen Teil davon. Ein normaler Wert vom Typ Integer hat 32 Bit.
Delete - Mi 10.12.08 09:30
jaenicke hat folgendes geschrieben : |
| Bei Records nutzt Delphi z.B. normalerweise 4 Byte Alignment, es sei denn man schreibt packed record, was alles hintereinander in den Speicher zwingt. |
Was hat die Ausrichtiung von Records jetzt mit seiner Frage zu tun? Wenn ich ein Integer in ein Record packe brauch er imme rnoch seine datentypgröße, egal wie das Alignment aussieht.
Die Frage ist nicht ganz so leicht zu beantworten und ich bin mir da auch immer unsicher. Ein Delphi Integer ist immer so groß wie die zugehörige Architektur. Spricht unter 32-Bit ist er 32 Bit groß und unter 64-Bit 64 Bit. Es gibt aber noch Ganzzahltypen, die eine feste Größe haben, wie zum Beispiel LongInt. Ein LongInt ist immer 32 Bit groß, egal auf was für einen System. Wie sich die unterschiedlichen Datentypen in den unterschiedlichen Programmiersprachen verhalten, musst du der Dokumentation entnehmen.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!