Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Создайте метаданные для доступа к переменной памяти для повышения производительности при выполнении кода x64 или x86 в ARM64.
Синтаксис
/volatileMetadata[-]
Замечания
Начиная с Visual Studio 2022 18.6, /volatileMetadata отключен по умолчанию и должен быть явно включен. Чтобы явно отключить его, используйте /volatileMetadata-.
/volatileMetadata повышает производительность эмуляции кода x64 и x86 в ARM64 путем создания метаданных, определяющих адреса переменной памяти. Эмулятор может использовать эти метаданные для повышения производительности, не используя семантику получения и выпуска для тех, к которым он знает, не является переменным. Без этих метаданных эмулятор предполагает, что все адреса являются переменными и используют семантику получения и выпуска.
Одним из побочных эффектов /volatileMetadata является просмотр npad макросов, используемых в созданном коде. Этот макрос расширяется до указанного количества инструкций NOP , которые создают адрес для связывания с барьером памяти. Затем этот адрес записывается в метаданные, чтобы указать, что семантика получения и выпуска должна использоваться для доступа к нему.
Замечание
В Visual Studio 2019 версии 16.10 до Visual Studio 2022 /volatileMetadata по умолчанию. Начиная с Visual Studio 2022 18.6 /volatileMetadata по умолчанию отключен.
Требования
Visual Studio 2019 версии 16.10 или более поздней.
См. также
Параметры компилятора MSVC
Синтаксис командной строки компилятора MSVC