auto-scalar、Qauto-scalar

 

SAVE 属性を持たない INTEGER、REAL、COMPLEX、および LOGICAL 組み込み型のスカラー変数をランタイムスタックに割り当てます。

IDE オプション

Windows: [Data (データ)] > [Local Variable Storage (ローカル変数の格納場所)] (/Qsave/Qauto/Qauto_scalar)

Linux: なし

Mac OS X: なし

アーキテクチャー

IA-32、インテル® 64、IA-64 アーキテクチャー

構文

Linux および Mac OS X:

-auto-scalar

Windows:

/Qauto-scalar

引数

なし

デフォルト

-auto-scalar または /Qauto-scalar

SAVE 属性を持たない INTEGER、REAL、COMPLEX、および LOGICAL 組み込み型のスカラー変数をランタイムスタックに割り当てます。recursive-openmp (Linux および Mac OS X)、または /Qopenmp (Windows) オプションが指定される場合、デフォルトは automatic です。

説明

このオプションは、INTEGER、REAL、COMPLEX、および LOGICAL 組み込み型のスカラー変数をランタイムスタックに割り当てます。これらの変数は、AUTOMATIC の属性であるかのように宣言されます。

このオプションは、SAVE 属性が指定されている変数 (初期化されているローカル変数を含む) には影響しません。また、EQUIVALENCE 文や共通ブロックに含まれている変数にも影響しません。

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

saveauto、または automatic は、このオプションと一緒に指定することはできません。

Note icon

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

代替オプション

なし

関連情報