Difference between revisions of "Packed/de"

From Lazarus wiki
Jump to navigationJump to search
m (typo/spell fix)
m (Fixed syntax highlighting; removed categories included in template)
 
Line 1: Line 1:
 
{{packed}}
 
{{packed}}
<br>
+
 
Zurück zu den [[Reserved words/de|reservierten Wörtern]].<br>
+
 
<br>
+
Zurück zu den [[Reserved words/de|reservierten Wörtern]].
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>
+
 
D. h. die einzelnen Elemente werden auch an ungeraden Speicheradressen ausgerichtet.<br>
+
Das reservierte Wort <b>packed</b> weist den Compiler an, für das Objekt sowenig Speicher wie möglich zu verwenden.
<br>
+
 
Beispiel:<br>
+
Das wird dadurch erreicht, das zwischen einzelnen Elementen kein Zwischenraum gelassen wird.
<syntaxhighlight>
+
 
 +
D. h. die einzelnen Elemente werden auch an ungeraden Speicheradressen ausgerichtet.
 +
 
 +
 
 +
Beispiel:
 +
 
 +
<syntaxhighlight lang=pascal>
 
   type TPArray = Packed array[...] of ...;
 
   type TPArray = Packed array[...] of ...;
 
   type TPClass = Packed class  ... end;
 
   type TPClass = Packed class  ... end;
Line 14: Line 20:
 
   type TPRecord = Packed record ... end;
 
   type TPRecord = Packed record ... end;
 
</syntaxhighlight>
 
</syntaxhighlight>
<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]].
Das Array '''a0''' ist ein Byte groß.<br>
+
 
 +
Das Array '''a0''' ist ein Byte groß.
 +
 
 
Das normal deklarierte '''a1''' aber 8 Byte.
 
Das normal deklarierte '''a1''' aber 8 Byte.
<syntaxhighlight>
+
 
 +
<syntaxhighlight lang=pascal>
 
var
 
var
 
   a0: bitpacked array[0..7] of Boolean; // 1 Byte
 
   a0: bitpacked array[0..7] of Boolean; // 1 Byte
 
   a1: array[0..7] of Boolean;          // 8 Byte
 
   a1: array[0..7] of Boolean;          // 8 Byte
 
</syntaxhighlight>
 
</syntaxhighlight>

Latest revision as of 06:42, 23 February 2020

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