自動配列および一時的な計算用に作成される配列を、スタックではなくヒープ上に割り当てます。
Windows: [Optimization (最適化)] > [Heap Arrays (ヒープ配列)]
Linux: なし
Mac OS X: [Optimization (最適化)] > [Heap Arrays (ヒープ配列)]
IA-32、インテル® 64、IA-64 アーキテクチャー
Linux および Mac 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 は影響を受けません。