/DYNAMICBASE (アドレス空間レイアウトのランダム化を使用)

Windows のアドレス空間レイアウトランダム化 (ASLR) 機能を使用して、読み込み時にランダムにリベースできる実行可能イメージを生成するかどうかを指定します。 ASLR は Windows Vista で最初に使用できるようになりました。

構文

/DYNAMICBASE[:NO]

解説

このオプションは/DYNAMICBASE、実行可能イメージヘッダー (.dll または .exe ファイル) を変更して、読み込み時にアプリケーションをランダムにリベースするかどうかを示し、仮想アドレスの割り当てのランダム化を有効にします。これは、ヒープ、スタック、およびその他のオペレーティング システム割り当ての仮想メモリの場所に影響します。 このオプションは /DYNAMICBASE 、32 ビットと 64 ビットの両方のイメージに適用されます。 ASLR は Windows Vista 以降のオペレーティング システムでサポートされています。 このオプションは、以前のオペレーティング システムでは無視されます。

既定では、/DYNAMICBASE が有効となっています。 このオプションを無効にするには、/DYNAMICBASE:NO オプション /DYNAMICBASE を有効にするには、 /HIGHENTROPYVA このオプションが必要です。

ASLR は ARM、ARM64、またはARM64EC アーキテクチャでは無効にできないため、 /DYNAMICBASE:NO これらのターゲットではサポートされていません。

このリンカー オプションを Visual Studio で設定するには

  1. プロジェクトの [プロパティ ページ] ダイアログ ボックスを開きます。 詳しくは、「Visual Studio で C++ コンパイラとビルド プロパティを設定する」をご覧ください。

  2. [構成プロパティ]>[リンカー]>[詳細] プロパティ ページを選択します。

  3. [ランダム化されたベース アドレス] プロパティを変更します。

このリンカーをコードから設定するには

関連項目