共用方式為


/volatileMetadata (產生變動性記憶體存取的元數據)

產生動態記憶體存取的元數據,以改善在ARM64上執行 x64 程式代碼時的效能。

語法

/volatileMetadata[-]

引數

-
關閉 /volatileMetadata。 當您的程式代碼在 ARM64 上以模擬模式執行時,這可能會導致效能降低,因為模擬器悲觀地假設每個載入/存放區都需要屏障。

備註

從 Visual Studio 2019 16.10 開始, /volatileMetadata 在產生 x64 程式代碼時預設為開啟。 它藉由產生可識別揮發性記憶體位址的元數據,改善ARM64上 x64 程式代碼的模擬效能。 模擬器可以使用此元數據來改善效能,方法是不要在它知道的存取者上使用取得/發行語意來改善效能。 如果沒有此元數據,模擬器會假設所有位址都是揮發性的,並使用取得和釋放語意。

/volatileMetadata 一個副作用是您可能會看到 npad 產生的程式代碼中使用的宏。 這個宏會展開至指定數目的 NOP 指示,以建立位址以與記憶體屏障產生關聯。 該位址接著會記錄在元數據中,以指出應該使用取得/發行語意來存取它。

/volatileMetadata 以 x86 為目標時會忽略 。

可以使用 /volatileMetadata- 來停用 /volatileMetadata

需求

Visual Studio 2019 16.10 版或更新版本。

另請參閱

MSVC 編譯器選項
MSVC 編譯器命令列語法