SAVE として宣言されていないすべてのローカル変数をランタイムスタックに割り当てるように指定します。
Windows: [Data (データ)] > [Local Variable Storage (ローカル変数の格納場所)]
Linux: なし
Mac OS X: なし
IA-32、インテル® 64 アーキテクチャー
Linux* および Mac OS* X: | -auto -noauto |
Windows: | /auto /noauto |
なし
-auto-scalar |
INTEGER、REAL、COMPLEX、および LOGICAL 組み込み型のスカラー変数をランタイムスタックに割り当てます。recursive、-openmp (Linux* および Mac OS* X)、または /Qopenmp (Windows*) のいずれかが指定された場合、デフォルトは auto に変更されることに注意してください。 |
このオプションは、SAVE として宣言されていないローカル変数 (すべての型のスカラーおよび配列) をランタイムスタックに配置します。これらの変数は、AUTOMATIC の属性であるかのように宣言されます。
このオプションは、SAVE 属性または ALLOCATABLE 属性が指定されている変数には作用しません。また、EQUIVALENCE 文や共通ブロックに含まれている変数にも作用しません。
このオプションを指定すると、プログラムのパフォーマンスが向上することがあります。ただし、プログラムが、最後にルーチンが呼び出されたときと同じ値を持つ変数に依存している場合は、プログラムが正しく機能しないことがあります。
変数を静的メモリーに格納する場合は、-save オプション (Linux* および Mac OS* X) または /Qsave オプション (Windows*) を指定します。特定の組み込み型のスカラー変数のみをランタイムスタックに配置する場合は、auto-scalar オプションを指定します。
Windows* NT システムでは、スタックフレームのアドレス指定を大きくしすぎるとパフォーマンス・ペナルティーが課せられます。このパフォーマンスの低下は、/automatic、/auto、または /Qauto が原因で発生することがあります。これは、配列がスカラーとともにスタックに割り当てられるためです。しかし、/Qauto-scalar を使用して、32KB 以上のローカルスカラー変数を使用すると、パフォーマンスの低下を防ぐことができます。/Qauto-scalar を指定すると、コンパイラーは、プログラムの実行中にどの変数をレジスターに保持すべきかについて、より良い選択を行うことができます。
auto |
Linux* および Mac OS* X: -automatic (これは古いオプションです) Windows*: /automatic (これは古いオプションです)、/Qauto、/4Ya |
noauto |
Linux* および Mac OS* X: -save、-noautomatic (これは古いオプションです) Windows*: /Qsave、/noautomatic (これは古いオプションです)、/4Na |
© 1996-2011 Intel Corporation. 無断での引用、転載を禁じます。