Next: , Previous: , Up: Structures   [Contents][Index]


6.23.5 Structure Glossary

%align ( align size –  ) gforth-0.4 “%align”

データ空間ポインタをアラインメント align に整列(align)します。

%alignment ( align size – align  ) gforth-0.4 “%alignment”

構造体のアライメント

%alloc ( align size – addr  ) gforth-0.4 “%alloc”

サイズ size のアドレス・ユニットをアラインメント align で整列(align)して割り当て、 割り当てたデータ・ブロックのアドレスを addr に返します。 成功しなかった場合は負数の iorthrow します。

%allocate ( align size – addr ior  ) gforth-0.4 “%allocate”

allocate と同様に、 サイズ size のアドレス単位をアライメント align で整列(align)して割り当て、 割り当てたデータ・ブロックのアドレスを addr に返します。 成功した場合、 ior=0, 成功しなかった場合は ior<0

%allot ( align size – addr  ) gforth-0.4 “%allot”

データ空間にサイズ size アドレス単位をアラインメント align で割り当てます。 結果のデータ・ブロックのアドレスを addr に返します。

cell% ( – align size  ) gforth-0.4 “cell%”
\訳注: セル1つ分のサイズ size と、 サイズをアライメントした align を返す
char% ( – align size  ) gforth-0.4 “char%”
\訳注: char 1つ分のサイズ size と、 そのサイズをアライメントした align を返します
dfloat% ( – align size  ) gforth-0.4 “dfloat%”
double% ( – align size  ) gforth-0.4 “double%”
\訳注: 2倍長整数1つ分のサイズ size と、サイズをアライメントした align を返します
end-struct ( align size "name" –  ) gforth-0.2 “end-struct”

アライメント align とサイズ size を使用して 構造体/型記述子 name を定義します(sizealign の倍数になるように切り上げられます – size1)。 name 実行時: ( – align size1)

field ( align1 offset1 align size "name" –  align2 offset2  ) gforth-0.2 “field”

オフセット offset1align size で指定された型を持つフィールド name を作成します。 offset2 は次のフィールドのオフセットで、align2 は、 (そこまでの)すべてのフィールドのアライメントです。 name の実行時: ( addr1addr2 ) addr2=addr1+offset1

float% ( – align size  ) gforth-0.4 “float%”
sfloat% ( – align size  ) gforth-0.4 “sfloat%”
%size ( align size – size  ) gforth-0.4 “%size”

構造体のサイズを返す

struct ( – align size  ) gforth-0.2 “struct”

空の構造体。 構造体定義を開始するために使用されます。


Next: Forth200x Structures, Previous: Structure Implementation, Up: Structures   [Contents][Index]