Difference between revisions of "Packed/de"

From Lazarus wiki
Jump to navigationJump to search
m (typo/spell fix)
Line 3: Line 3:
 
Zurück zu den [[Reserved words/de|reservierten Wörtern]].<br>
 
Zurück zu den [[Reserved words/de|reservierten Wörtern]].<br>
 
<br>
 
<br>
Das reservierte Wort <b>packed</b> weist den Compiler an, für das Objekt sowenig Speicher als möglich zu verwenden.<br>
+
Das reservierte Wort <b>packed</b> weist den Compiler an, für das Objekt sowenig Speicher wie möglich zu verwenden.<br>
 
Das wird dadurch erreicht, das zwischen einzelnen Elementen kein Zwischenraum gelassen wird.<br>
 
Das wird dadurch erreicht, das zwischen einzelnen Elementen kein Zwischenraum gelassen wird.<br>
 
D. h. die einzelnen Elemente werden auch an ungeraden Speicheradressen ausgerichtet.<br>
 
D. h. die einzelnen Elemente werden auch an ungeraden Speicheradressen ausgerichtet.<br>
Line 17: Line 17:
 
<br>
 
<br>
  
Es ist auch Bitweises packen möglich, dies geschieht mit [[bitpacked]].<br>
+
Es ist auch bitweises Packen möglich, dies geschieht mit [[bitpacked]].<br>
Die Array '''a0''' ist ein Byte gross.<br>
+
Das Array '''a0''' ist ein Byte groß.<br>
Die normal deklarierte '''a1''' aber 8 Byte.
+
Das normal deklarierte '''a1''' aber 8 Byte.
 
<syntaxhighlight>
 
<syntaxhighlight>
 
var
 
var
Line 25: Line 25:
 
   a1: array[0..7] of Boolean;          // 8 Byte
 
   a1: array[0..7] of Boolean;          // 8 Byte
 
</syntaxhighlight>
 
</syntaxhighlight>
 
 
 
 
--[[User:Olaf|Olaf]] 07:30, 28 October 2012 (UTC)
 

Revision as of 22:43, 2 August 2018

Deutsch (de) English (en) русский (ru)

Zurück zu den reservierten Wörtern.

Das reservierte Wort packed weist den Compiler an, für das Objekt sowenig Speicher wie möglich zu verwenden.
Das wird dadurch erreicht, das zwischen einzelnen Elementen kein Zwischenraum gelassen wird.
D. h. die einzelnen Elemente werden auch an ungeraden Speicheradressen ausgerichtet.

Beispiel:

  type TPArray = Packed array[...] of ...;
  type TPClass = Packed class  ... end;
  type TPObject = Packed object ... end;
  type TPRecord = Packed record ... end;



Es ist auch bitweises Packen möglich, dies geschieht mit bitpacked.
Das Array a0 ist ein Byte groß.
Das normal deklarierte a1 aber 8 Byte.

var
  a0: bitpacked array[0..7] of Boolean; // 1 Byte
  a1: array[0..7] of Boolean;           // 8 Byte