Buchempfehlung
Windows System Programming
Windows System Programming
Das Kompendium liefert viele interessante Informationen zur Windows-Programmierung auf Englisch. [Mehr Infos...]
FreeBASIC-Chat
Es sind Benutzer im FreeBASIC-Chat online.
(Stand:  )
FreeBASIC bei Twitter
Twitter FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!


Referenz - FIELD

Referenz-Navigation

 

Syntax: TYPE UDTName FIELD = { 1 | 2 | 4 }
Typ: Schlüsselwort
Kategorie: Speicherorganisation

FIELD wird zusammen mit BefehlsreferenzeintragTYPE verwendet und legt dort das Padding-Verhalten fest. Dieses bestimmt, dass UDTs auf eine bestimmte Länge "ausgedehnt" werden sollen. Der Zweck liegt darin, dass auf solche ausgedehnten Felder z.T. schneller zugegriffen werden kann. Das Feld wird dabei so ausgedehnt, dass die Anzahl der Bytes, die das Feld im Speicher benötigt, ein ganzzahliges Vielfaches von 1, 2 oder 4 ist. Da FreeBASIC ein 32bit-Compiler ist, wird standardmäßig die Feldbreite 4 verwendet, da 32bit 4 Byte entsprechen.

Beispiel:

Type NormalPacked
   i As Integer
   b As Byte
End Type

Type BytePacked Field = 1
   i As Integer
   b As Byte
End Type

Type WordPacked Field = 2
   i As Integer
   b As Byte
End Type

Type DWordPacked Field = 4
   i As Integer
   b As Byte
End Type

Print WStr("Größe der einzelnen Datentypen")
Print "Integer    : " & SizeOf(     Integer)
Print "Byte       : " & SizeOf(        Byte)
Print

Print WStr("Größe der verschiedenen UDTs")
Print "Ohne Field : " & SizeOf(NormalPacked)
Print "Field = 1  : " & SizeOf(  BytePacked)
Print "Field = 2  : " & SizeOf(  WordPacked)
Print "Field = 4  : " & SizeOf( DWordPacked)
Sleep

Ausgabe:

Größe der einzelnen Datentypen
Integer    : 4
Byte       : 1

Größe der verschiedenen UDTs
Ohne Field : 8
Field = 1  : 5
Field = 2  : 6
Field = 4  : 8

Unterschiede zu QuickBASIC:


Zusätzliche Informationen und Funktionen
  • Der Referenzeintrag wurde am 24.07.2007 von AdministratorSebastian angelegt.
  • Die aktuellste Version wurde am 13.09.2010 von RedakteurMOD gespeichert.
  Versionen Versionen