/LARGEADDRESSAWARE (大きいアドレスの処理)
/LARGEADDRESSAWARE[:NO]
解説
/LARGEADDRESSAWARE オプションは、アプリケーションが 2 ギガバイトを超えるアドレスを処理できることをリンカーに伝えます。 64 ビット コンパイラでは、このオプションは既定で有効になります。 32 ビット コンパイラでは、リンカー行で /LARGEADDRESSAWARE
が指定されていない場合、/LARGEADDRESSAWARE:NO
が有効になります。
アプリケーションが /LARGEADDRESSAWARE
にリンクされている場合、 DUMPBIN
/HEADERS はその効果に関する情報を表示します。
64 ビット アプリケーションを /LARGEADDRESSAWARE:NO
にリンクすることは推奨されません。使用できるアドレス空間が制限され、アプリがメモリを使い果たすとランタイム エラーが発生する可能性があるからです。 また、エミュレーション ランタイムが 4 GB の仮想アドレス空間を予約しようとするため、x64 アプリが ARM64 システム上で実行できなくなる可能性があります。 アプリが /LARGEADDRESSAWARE:NO
にリンクされている場合、それほど多くのアドレス空間を割り当てることができないため、アプリは起動しません。
Visual Studio 開発環境でこのリンカー オプションを設定するには
プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。 詳細については、Visual Studio での C++ コンパイラとビルド プロパティの設定に関する記事を参照してください。
[構成プロパティ]>[リンカー]>[システム] プロパティ ページを選択します。
[大きいサイズのアドレス] プロパティを変更します。
このリンカーをコードから設定するには
- 以下LargeAddressAwareを参照してください。