/STACK

構文:

/STACK:reserve[,commit]

スタックの大きさをバイト単位で設定します。

reserve 引数は,仮想メモリー中の合計のスタック割付けを指定します。スタックの基本の大きさは 1MB です。リンカーは指定された値を最も近い 4 バイトの倍数に切り上げます。

オプションの commit 引数は,オペレーティング・システムによって異なる意味に解釈されます。Windows NT, Windows XP と Windows 2000 では,一度に割り付ける物理メモリーの量を指定します。指定された仮想メモリーは,ページ・ファイル中に空間を予約します。commit として大きい値を指定すると,アプリケーションがヒープを追加する必要が生じたときに時間の節約になりますが,必要なメモリー量と,おそらくは起動時間が増大します。

reservecommit の値は,10 進数か,C 言語書式で指定します。1 ~ 9 の数字は 10 進数の値を,ゼロ (0) の後の値は 8 進数の値を,ゼロ と x (0x または 0X) の後の値は 16 進数の値を表します。

スタックを設定する別の方法として,.DEF ファイル中の STACKSIZE 文があります (「STACKSIZE」を参照)。STACKSIZE と「Stack Allocations」(/STACK) の両方が指定されていると,前者が優先されます。スタックは,実行形式ファイルがビルドされた後でも,EDITBIN.EXE ツールを使って変更することができます。詳細については,「EDITBIN によるファイルの編集」を参照してください。

ビジュアル開発環境でこれらのオプションを設定するには,「Project Settings」ダイアログボックスの「Link」タブの「Output」カテゴリで,「Reserve」ボックスと「Commit」ボックスに値を入力します。