インテル® Fortran コンパイラー 19.0 デベロッパー・ガイドおよびリファレンス
ランタイムシステムで、OpenVMS* Alpha システムおよび VAX* システム (VAX FORTRAN*) 上の HP* Fortran のような動作を行います。
Linux* および macOS*: | -vms -novms |
Windows*: | /vms /novms |
なし
novms |
ランタイムシステムは、デフォルトのインテル® Fortran の動作を使用します。 |
このオプションは、ランタイムシステムで、OpenVMS Alpha システムおよび VAX システム (VAX FORTRAN) 上の HP Fortran のような動作を行います。
次の言語機能に影響を与えます。
一部のデフォルト設定
他のオプションが存在しないため、vms は check format および check output_conversion をデフォルトとして設定します。
アライメント
vms オプションは、レコード内のフィールドおよび共通ブロックに含まれた項目のアライメントには影響しません。OpenVMS システム上の HP Fortran との互換性を確保するために、align norecords を使用して、次のバイト境界上にあるレコードのフィールドをパックします。
キャリッジ制御のデフォルト設定
vms オプションと ccdefault default オプションが指定されている場合、ファイルの書式が設定されていて、なおかつユニットが端末に結合されていると、キャリッジ制御は FORTRAN をデフォルトとして設定します。
INCLUDE 修飾子
コンパイル時に、INCLUDE 文でのファイル名の最後に記述された /LIST と /NOLIST が認識されます。INCLUDE 文でのファイル名が完全パスで指定されていない場合、現在のディレクトリーがパスとして使用されます。vms が指定されていない場合、INCLUDE 文を含むファイルが保存されたディレクトリーのパスが使用されます。
引用符文字
引用符 (") 文字は、文字列 ("...") ではなく 8 進定数 ("0..7) として認識されます。
相対ファイル内の削除されたレコード
相対ファイル内のレコードが削除されると、そのレコードの最初の 1 バイトは既知の文字 (現在は '@' ) に設定されます。後でこのレコードの読み取りを試みると、ATTACCNON エラーが発生します。残りのレコード (vms が指定されていない場合はレコード全体) は、書式なしファイルの場合は NULL に、書式付きファイルの場合は空白に設定されます。
ENDFILE レコード
ENDFILE がシーケンシャル・ユニットに対して実行されると、CTRL/Z を含む 1 バイトのレコードがファイルに書き出されます。vms が指定されていない場合、内部の ENDFILE フラグが設定され、ファイルは切り捨てられます。vms オプションは相対ファイルの ENDFILE には影響しません。これらのファイルは切り捨てられます。
暗黙的な論理ユニット番号
vms オプションを指定することで、ランタイム時の ACCEPT 文、PRINT 文、および TYPE 文、そしてユニット番号を指定しない READ 文および WRITE 文 (例えば READ (*,1000)) でインテル® Fortran が特定の環境変数を認識します。
入力に含まれた空白の処理
vms オプションは、外部または内部ファイルにおける OPEN 文の BLANK キーワードのデフォルトを明示的な OPEN 文の場合は 'NULL' に、暗黙的な OPEN 文の場合は 'ZERO' として処理します。
OPEN 文の効果
ファイルの書式が設定されていて、なおかつユニットが端末に結合されていると、キャリッジ制御は FORTRAN をデフォルトとして設定します。それ以外の場合は、キャリッジ制御は LIST をデフォルトとして設定します。vms オプションは、直接アクセスおよび相対編成ファイルのレコード長に影響します。削除されたレコード文字に応じてバッファーのサイズが 1 増えます。
削除されたレコードおよび ENDFILE レコードの読み取り
ランタイムの直接アクセス READ ルーチンは、取り出したレコードの最初の 1 バイトを確認します。このバイトが '@' または NULL ("\0") の場合、ATTACCNON エラーを返します。ランタイムのシーケンシャル・アクセス READ ルーチンは、読み取ったレコードに 1 バイトの長さで、CTRL/Z が含まれているかどうかを確認します。そうであれば、ファイル終了 (EOF) を戻します。
Visual Studio*: [Compatibility (互換性)] > [Enable VMS Compatibility (VMS 互換性を有効にする)]
Eclipse*: なし
Xcode*: [Compatibility (互換性)] > [Enable VMS Compatibility (VMS 互換性を有効にする)]
なし