構文:
/alignment[:keyword...],/noalignment,または /Zpn
/alignment オプションは,共通ブロック,記録構造体,および構造型構造体中のデータ項目の位置合わせを指定します。/Zpn オプションは,構造型または記録構造体中のデータ項目の位置合わせを指定します。
次に /alignment のオプションを示します。
/align:commons オプションは,すべての共通ブロック中のデータ項目を,4 バイトまでの自然境界に位置合わせします。基本値は /align:nocommons で (/fast が指定されていない場合),データ・ブロックを自然境界に位置合わせしません。ビジュアル開発環境では,「Fortran」タブの「Fortran Data」カテゴリで「Common Element Alignment」を 4 と指定します。
/align:dcommons オプションは,すべての共通ブロック中のデータ項目を,8 バイトまでの自然境界に位置合わせします。基本値は /align:nocommons で (/fast が指定されていない場合),データ・ブロックを自然境界に位置合わせしません。ビジュアル開発環境では,「Fortran」タブの「Fortran Data」カテゴリで「Common Element Alignment」を 8 と指定します。
/align:records オプション (/vms オプションを指定しなかった場合の基本オプション) は,構造型成分と記録欄を,8 バイトまでの自然境界に位置合わせするように要求します。/align:norecords (/vms オプションを指定した場合の基本オプション) は,構成要素と欄を,8 バイトまでの自然境界ではなく,任意のバイト境界に位置合わせするように要求します。ビジュアル開発環境では,「Fortran」タブの「Fortran Data」カテゴリで「Structure Element Alignment」を指定します。
/align:sequence オプションは,SEQUENCE 文を持つ構造型成分がどのような位置合わせ規則が現在使用されていても (基本位置合わせ規則は,自然境界に不連続な成分を位置合わせします) 従うように要求します。基本値 (/fast が指定されていない場合) は,/align:nosequence で,SEQUENCE 文を持つ構造型成分を現在使用されている位置合わせ規則に拠らず詰め込みます。/fast を指定すると,/align:sequence が設定されます。ビジュアル開発環境では,「Fortran」タブの「Fortran Data」カテゴリで「Allow SEQUENCE Types to be Padded for Alignment」を指定します。
/align:recNbyte または /Zpn オプションは,記録欄と構造型成分を,次の内の小さい方に位置合わせするように要求します。
指定された大きさのバイト境界 (N)
自然な位置合わせが行われる境界
/align:recNbyte,/Zpn,または /align:[no]records を指定しても,共通ブロック欄が自然に位置合わせされるか,詰め込まれるかに影響はありません。ビジュアル開発環境では,「Fortran」タブの「Fortran Data」カテゴリで「Structure Element Alignment」を指定します。
次表に,これらと等価な位置合わせオプションを示します。
指定 | 等価なオプション |
/Zp | /alignment:records または /align:rec8byte |
/Zp1 | /alignment:norecords または /align:rec1byte |
/Zp2 | /align:rec2byte |
/Zp4 | /align:rec4byte |
/alignment | /align:dcommons,/alignment:all,または /alignment:(dcommons,records) と /Zp8 の組み合わせ |
/noalignment | /Zp1,/alignment:none,または /alignment:(nocommons,nodcommons,norecords) |
/align:rec1byte | /align:norecords |
/align:rec8byte | /align:records |
/alignment オプションを省略すると,記録と構造型の成分は自然に位置合わせされますが,共通ブロック中の欄は詰め込まれます。基本設定は,次と同じです。
/alignment=(nocommons,nodcommons,records)
記録と構造型の成分や共通ブロック中のデータ項目の位置合わせを cDEC$ OPTIONS 指示文を使って制御することもできます。