‘Object_Size¶たまにはGNAT以外のコンパイラからの逆輸入があってもいいと思います。経緯¶AdaではCPUに囚われず任意のビット数の型を定義できることはご存知かと思います。7ビットの符号なし整数型はこう定義します。2012からのアスペクト構文であればこう書きます。型の変数を配置したとしまして実際丁度7ビットだけが割り当てられるということはありません。CPUが効率良くアクセスできるメモリの境界に合わせて切り上げられます。8ビットが最小単位のCPUであれば実際には8ビット割り当てられることでしょう。(アラインメントは割り当ての開始位置を調整することですのでこれは厳密にはアラインメントとはちょっと違う話でしょうか。等の内部表現の指定をした場合のみとなります。中であっても特に指定しない場合はやはり切り上げられます。7しかし場合によってはオブジェクトを介さずに切り上げ後のサイズを知りたいときもあります。参照して書きたい場合等です。詰め込むことを意図しています。Unsigned_7'Alignment;これは上手く行きません。1バイト目に詰め込まれてしまいます。付けましたのでエラーとして検出できています。等といった冗長なコードも書かれていました。属性が追認されています。属性と同じになります。10ビット目に配置されることになります。自体は普通に変数を宣言すれば2バイトを占めるでしょう。それぞれ1バイト使いますから4バイトになりますので圧縮成功です。