インテル® Fortran コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

auto

SAVE として宣言されていないすべてのローカル変数をランタイムスタックに割り当てるように指定します。

構文

Linux* および macOS*:

-auto

-noauto

Windows*:

/auto

/noauto

引数

なし

デフォルト

-auto-scalar
または /Qauto-scalar

INTEGER、REAL、COMPLEX、および LOGICAL 組込み型のスカラー変数をランタイムスタックに割り当てます。次のいずれかのオプションが指定された場合、デフォルトは auto に変更されることに注意してください。

  • recursive

  • [q または Q]openmp

説明

このオプションは、SAVE として宣言されていないローカル変数 (すべての型のスカラーおよび配列) をランタイムスタックに配置します。これらの変数は、AUTOMATIC の属性であるかのように宣言されます。

このオプションは、SAVE 属性または ALLOCATABLE 属性が指定されている変数には作用しません。また、EQUIVALENCE 文や共通ブロックに含まれている変数にも作用しません。

このオプションを指定すると、プログラムのパフォーマンスが向上することがあります。ただし、プログラムが、最後にルーチンが呼び出されたときと同じ値を持つ変数に依存している場合は、プログラムが正しく機能しないことがあります。

変数を静的メモリーに格納する場合は、[Q]save オプションを指定します。特定の組込み型のスカラー変数のみをランタイムスタックに配置する場合は、auto-scalar オプションを指定します。

Windows* NT システムでは、スタックフレームのアドレス指定を大きくしすぎるとパフォーマンス・ペナルティーが課せられます。このパフォーマンスの低下は、[Q]auto が原因で発生することがあります。これは、配列がスカラーとともにスタックに割り当てられるためです。しかし、/Qauto-scalar を使用して、32KB 以上のローカルスカラー変数を使用すると、パフォーマンスの低下を防ぐことができます。/Qauto-scalar を指定すると、コンパイラーは、プログラムの実行中にどの変数をレジスターに保持すべきかについて、より良い選択を行うことができます。

IDE オプション

Visual Studio*: [Data (データ)] > [Local Variable Storage (ローカル変数の格納場所)]

Eclipse*: なし

Xcode*: [Data (データ)] > [Local Variable Storage (ローカル変数の格納場所)]

代替オプション

auto

Linux* および macOS*: なし

Windows*: /Qauto/4Ya

noauto

Linux* および macOS*: -save

Windows*: /Qsave/4Na

関連情報