Free Pascal - Prekladač jazyka Pascal

Anketa

Ktorý návod by ste cheli ako ďalší?:

Partenské projekty

Free Pascal - Nezarovnané pretypovanie

Verzia pre tlačSend by emailPDF verzia

Špeciálnym typom pretypovania je nezarovnané Unaligned pretypovanie premennej a výrazu. Toto nie je skutočné pretypovanie, iba odporúčanie pre prekladač, že výraz môže byť nezarovnaný (t.j. že nie je zarovnaný do adresy pamäte). Niektoré procesory neumožňujú priamy priamy prístup k nezarovnaným dátovým štruktúram, a preto je k nim potrebné pristupovať po bajtoch.

Pretypovanie výrazu s kľúčovým slovom unaligned signalizuje prekladaču, že by mal k údajom pristupovať po bajtoch.

Príklad:

program me;
 
Var: packed Array[1..20] of Byte;
  I : LongInt;
 
begin
  For I:=1 to 20 do
    A[I]:=I;
  I:=PInteger(Unaligned(@A[13]))^;
end.