次の方法で共有


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

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

構文

/DYNAMICBASE[:NO]

解説

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

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

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

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

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

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

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

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

関連項目