AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Instancesize

Ein Thema von simonko · begonnen am 28. Nov 2005 · letzter Beitrag vom 28. Nov 2005
Antwort Antwort
simonko

Registriert seit: 2. Jun 2005
125 Beiträge
 
#1

Instancesize

  Alt 28. Nov 2005, 17:54
ich habe folgende klasse

Delphi-Quellcode:
 tx = class(TObject)
   fa : byte;
 end;
Unser professor hat uns erklärt dass jedes angelegte Objekt 4 byte brauch; es kommen dann noch
die variabeln hinzu. folglich müßte dieses objekt 5 byte brauchen.

Nun wenn ich tx.instancesize schreibe steht da acht byte und ich verstehe nicht warum?!?
  Mit Zitat antworten Zitat
Benutzerbild von jim_raynor
jim_raynor

Registriert seit: 17. Okt 2004
Ort: Berlin
1.251 Beiträge
 
Delphi 5 Standard
 
#2

Re: Instancesize

  Alt 28. Nov 2005, 18:19
Hängt mit Ausrichtung und Optimierung zu sammen auch ein Record mit einem Byte hat insgesamt 4. Es ist für den Prozessor performanter wenn die Variablen in 4 Bytes (32-Bit) ausgerichtet sind.
Christian Reich
Schaut euch mein X-COM Remake X-Force: Fight For Destiny ( http://www.xforce-online.de ) an.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: Instancesize

  Alt 28. Nov 2005, 18:33
Der Compiler reserviert eigentlich nur 5 Byte für deine Klassenstruktur. Da auch der direkt anschließende Speicher benötigt wird, aber der Compiler diesen aber nur an einer Doppelwortgrenze belegen möchte (Alignment), wirst du als InstanceSize nur Vielfache von 4 finden. Näheres dazu findest du unter "Delphi Sprachreferenz :: Der Speichermanager" in der Online Hilfe (D7).

Grüße vom marabu
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:23 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz