heap-arrays

 

自動配列および一時的な計算用に作成される配列を、スタックではなくヒープ上に割り当てます。

IDE オプション

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 は影響を受けません。