Поделиться через


/forceInterlockedFunctions

Динамически выбирает между загрузкой Armv8.0, эксклюзивными инструкциями для хранения и атомарными инструкциями Armv8.1 Large System Extension (LSE) на основе возможностей процессора во время выполнения.

Синтаксис

/forceInterlockedFunctions[-]

Замечания

По возможности этот флаг позволяет избежать использования эксклюзивных инструкций загрузки и хранения Armv8.0, так как эти инструкции могут привести к блокировке. Этот флаг принудительно генерирует следующие взаимосвязанные встроенные функции в виде внестрочных функций:

Операция 8 16 32 64 128 Указатель
Добавь Отсутствует Отсутствует Полный Полный Отсутствует Отсутствует
И Полный Полный Полный Полный Отсутствует Отсутствует
СравнитьБиржа Полный Полный Полный Полный Полный Полный
Декремент Отсутствует Полный Полный Полный Отсутствует Отсутствует
Обмен Полный Полный Полный Полный Отсутствует Полный
ОбменДобавить Полный Полный Полный Полный Отсутствует Отсутствует
Шаг Отсутствует Полный Полный Полный Отсутствует Отсутствует
или Полный Полный Полный Полный Отсутствует Отсутствует
Xor Полный Полный Полный Полный Отсутствует Отсутствует
bittestandreset Отсутствует Отсутствует Полный Полный Отсутствует Отсутствует
bittestandset Отсутствует Отсутствует Полный Полный Отсутствует Отсутствует

Ключ:

  • Полный: поддерживает plain, _acq, _rel, и _nf формы.

  • Нет: Не поддерживается

Для получения дополнительной информации о встроенных функциях блокировки см. раздел «Встроенные функции блокировки» в Arm64 Встроенные функции.

Установка параметра компилятора /forceInterlockedFunctions в Visual Studio

  1. Откройте диалоговое окно Страницы свойств проекта. Подробнее см. в статье Настройка компилятора C++ и свойств сборки в Visual Studio.

  2. Перейдите на страницу свойств Свойства конфигурации>C/C++>Командная строка.

  3. В поле Дополнительные параметры добавьте /forceInterlockedFunctions для включения. Нажмите ОК, чтобы сохранить внесенные изменения.

Установка данного параметра компилятора программным способом

См. также

Встроенные характеристики Arm64
Параметры компилятора MSVC
Синтаксис командной строки компилятора MSVC