自動配列および一時的な計算用に作成される配列を、スタックではなくヒープ上に割り当てます。
IDE オプション
Windows*:
[Optimization (最適化)] > [Heap Arrays (ヒープ配列)]
Linux*:
なし
OS X*:
[Optimization (最適化)] > [Heap Arrays (ヒープ配列)]
構文
Linux* および OS X*: | -heap-arrays [size] -no-heap-arrays |
Windows*: | /heap-arrays[:size] /heap-arrays- |
引数
size |
配列のサイズをキロバイト (KB) 単位で表した整数値。コンパイル時に size よりも大きいと認識された配列は、スタックではなくヒープ上に割り当てられます。
|
デフォルト
-no-heap-arrays または /heap-arrays- |
コンパイラーは、自動配列および一時的な計算用に作成される配列を、スタックではなくヒープ上にある一時的な記憶域に割り当てます。
|
説明
このオプションは、自動配列および一時的な計算用に作成される配列を、スタックではなくヒープ上に割り当てます。
size を省略して heap-arrays を指定すると、自動配列および一時配列はすべてヒープ上の割り当てられます。size を 10 とした場合、10 KB よりも大きな自動配列および一時配列はすべてヒープ上の割り当てられます。
例
Fortran では、自動配列のサイズはランタイム式から取得されます。次に例を示します。
RECURSIVE SUBROUTINE F( N )
INTEGER :: N
REAL :: X ( N ) ! an automatic array
REAL :: Y ( 1000 ) ! an explicit-shape local array on the stack
上記の例の配列 X は、heap-array オプションの影響を受けますが、配列 Y は影響を受けません。