インテル® Fortran コンパイラー 17.0 デベロッパー・ガイドおよびリファレンス
SAVE 属性を持たない INTEGER、REAL、COMPLEX、および LOGICAL 組込み型のスカラー変数をランタイムスタックに割り当てます。
Linux* および OS X*: | -auto-scalar |
Windows®: | /Qauto-scalar |
なし
-auto-scalar または /Qauto-scalar |
SAVE 属性を持たない INTEGER、REAL、COMPLEX、および LOGICAL 組込み型のスカラー変数をランタイムスタックに割り当てます。 次のいずれかのオプションが指定された場合、デフォルトは auto に変更されることに注意してください。
|
このオプションは、INTEGER、REAL、COMPLEX、および LOGICAL 組込み型のスカラー変数をランタイムスタックに割り当てます。 これらの変数は、AUTOMATIC の属性であるかのように宣言されます。
このオプションは、SAVE 属性が指定されている変数 (初期化されているローカル変数を含む) には影響しません。また、EQUIVALENCE 文や共通ブロックに含まれている変数にも影響しません。
このオプションを指定すると、プログラムのパフォーマンスが向上することがあります。ただし、プログラムが、最後にルーチンが呼び出されたときと同じ値を持つ変数に依存している場合は、プログラムが正しく機能しないことがあります。 複数のサブルーチン呼び出しにわたってその値を保持する必要のある変数は、SAVE 文内になければなりません。
save または auto は、このオプションと一緒に指定することはできません。
Windows® NT システムでは、スタックフレームのアドレス指定を大きくしすぎるとパフォーマンス・ペナルティーが課せられます。 このパフォーマンスの低下は、[Q]auto が原因で発生することがあります。これは、配列がスカラーとともにスタックに割り当てられるためです。 しかし、/Qauto-scalar を使用して、32KB 以上のローカルスカラー変数を使用すると、パフォーマンスの低下を防ぐことができます。 /Qauto-scalar を指定すると、コンパイラーは、プログラムの実行中にどの変数をレジスターに保持すべきかについて、より良い選択を行うことができます。
Visual Studio®: [Data (データ)] > [Local Variable Storage (ローカル変数の格納場所)] (/Qsave、/Qauto、/Qauto_scalar)
Eclipse*: なし
Xcode*: [Data (データ)] > [Local Variable Storage (ローカル変数の格納場所)]
なし