Difference between revisions of "Packed/de"

From Lazarus wiki
Jump to navigationJump to search
(Category moved to template)
m (Fixed syntax highlighting; removed categories included in template)
 
(2 intermediate revisions by 2 users not shown)
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 als 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]].
--[[User:Olaf|Olaf]] 07:30, 28 October 2012 (UTC)
+
 
 +
Das Array '''a0''' ist ein Byte groß.
 +
 
 +
Das normal deklarierte '''a1''' aber 8 Byte.
 +
 
 +
<syntaxhighlight lang=pascal>
 +
var
 +
  a0: bitpacked array[0..7] of Boolean; // 1 Byte
 +
  a1: array[0..7] of Boolean;          // 8 Byte
 +
</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