次に示すオプションは,Compaq Fortran コンパイラが,共通ブロック,構造型データ,および Compaq Fortran 記録構造体中の複数のデータ項目を自然に位置合わせするために (必要に応じて) 追加する充填を制御します。
共通ブロック中のデータを,必要に応じて充填バイトを追加して,最高 4 バイトの境界上に位置合わせするように要求します。/fast を指定しなかった場合の基本設定は,/align:nocommons か,共通ブロック・データの任意のバイト境界となります。この例では,COMMON 文中のデータ項目が,大きさの大きな数値データ項目から順番に指定され,最後に文字データが指定されているのでない限り,位置合わせされていないデータが生じる可能性があります。
共通ブロック中のデータを,必要に応じて充填バイトを追加して,最高 8 バイトの境界上に位置合わせするように要求します。/fast を指定しなかった場合の基本設定は,/align:nocommons か,共通ブロック・データの任意のバイト境界となります。
共通ブロックを使用するアプリケーションでは,アプリケーションが位置合わせされていないデータを含んでいない,またはアプリケーションが位置合わせされていないデータを含む可能性があっても,すべてのデータ項目が 4 バイト以下である場合を除き,/align:dcommons オプションを指定するようにしてください。共通ブロックを使用し,すべてのデータ項目が 4 バイト以下であるアプリケーションでは,/align:dcommons の代わりに /align:commons を指定することができます。
構造型データと記録構造体 (Compaq Fortran 拡張) に含まれる複数のデータ項目を,自然に位置合わせするのではなく,バイト境界上に任意に位置合わせするように要求します。基本設定は /align:records です。
SEQUENCE 文が指定されていない記録構造体と構造型データに含まれる複数のデータ項目を,必要に応じて充填バイトを追加することで自然に位置合わせするように要求します。基本設定は /align:records です。
SEQUENCE 文が指定されている構造型の位置合わせを制御します。/align:sequence オプションを指定すると,SEQUENCE 文が指定されている構造型は,現在使用中の位置合わせ規則がなんであっても従います。その結果,/align:records が基本値のため,/align:sequence のみをコマンド行で指定すると,構造型の欄は自然に位置合わせされます。/fast を指定すると /align:sequence が適用されます。
SEQUENCE 文が指定されている構造型の位置合わせを制御します。基本設定の /align:nosequence オプションは,他の位置合わせ規則に関係なく SEQUENCE 文が指定されている構造型を詰め込みます。
基本動作では,構造型データと記録構造体に含まれる複数のデータ項目は自然に位置合わせされます。共通ブロック中のデータ項目は,/align:nocommons によって自然に位置合わせされません (/align:records)。構造型データでは,SEQUENCE 文を使うと,/align:records はデータ項目を自然に位置合わせするために必要な充填バイトを追加しなくなります。