Share via


/DYNAMICBASE (使用位址空間配置隨機化)

指定是否要使用 Windows 的位址空間配置隨機化 (ASLR) 功能,產生可在載入時間隨機重設基底的可執行映射。 ASLR 首次在 Windows Vista 中提供。

語法

/DYNAMICBASE[:NO]

備註

/DYNAMICBASE選項會修改可執行檔映射 、.dll 或 .exe 檔案的 標頭,以指出應用程式是否應該在載入時隨機重新基底,並啟用虛擬位址配置隨機化,這會影響堆積、堆疊和其他作業系統配置的虛擬記憶體位置。 此選項 /DYNAMICBASE 同時適用于 32 位和 64 位映射。 Windows Vista 和更新版本的作業系統支援 ASLR。 舊版作業系統會忽略此選項。

預設會啟用 /DYNAMICBASE。 若要停用此選項,請使用 /DYNAMICBASE:NO 。 選項 /DYNAMICBASE 必須 /HIGHENTROPYVA 有選項才能產生效果。

因為這些目標不支援 ASLR 在 ARM、ARM64 或ARM64EC架構 /DYNAMICBASE:NO 上停用。

在 Visual Studio 中設定這個連結器選項

  1. 開啟專案的 [屬性頁] 對話方塊。 如需詳細資料,請參閱在 Visual Studio 中設定 C ++ 編譯器和組建屬性

  2. 選取 [組態屬性 > ] 連結器 > [ 進階 ] 屬性頁。

  3. 修改隨機基底位址 屬性。

若要以程式設計方式設定這個連結器選項

另請參閱