Partilhar via


/forceInterlockedFunctions

Seleciona dinamicamente entre a carga Armv8.0, armazena instruções exclusivas ou instruções atômicas Armv8.1 Large System Extension (LSE) com base na capacidade da CPU em tempo de execução.

Sintaxe

/forceInterlockedFunctions[-]

Observações

Quando possível, esse sinalizador evita o uso de carga Armv8.0 e armazena instruções exclusivas, pois essas instruções podem resultar em livelocks. Este sinalizador força os seguintes intrínsecos interligados a serem gerados como funções fora de linha:

Funcionamento 8 16 32 64 128 Ponteiro
Adicionar Nenhum Nenhum Completo Completo Nenhum Nenhum
e ainda Completo Completo Completo Completo Nenhum Nenhum
CompareExchange Completo Completo Completo Completo Completo Completo
Decréscimo Nenhum Completo Completo Completo Nenhum Nenhum
Troca Completo Completo Completo Completo Nenhum Completo
ExchangeAdicionar Completo Completo Completo Completo Nenhum Nenhum
Incremento Nenhum Completo Completo Completo Nenhum Nenhum
Ou Completo Completo Completo Completo Nenhum Nenhum
Xor Completo Completo Completo Completo Nenhum Nenhum
bittestandreset Nenhum Nenhum Completo Completo Nenhum Nenhum
BitTestAndSet Nenhum Nenhum Completo Completo Nenhum Nenhum

Chave:

  • Completo: suporta simples, _acq, _rele _nf formulários.

  • Nenhum: Não suportado

Para obter mais informações sobre intrínsecas intertravadas, consulte a seção "Intrínsecas intertravadas" em Arm64 Intrínsecas.

Para definir a opção de compilador /forceInterlockedFunctions no Visual Studio

  1. Abra a caixa de diálogo Property Pages para o projeto. Para obter mais informações, consulte Definir compilador C++ e criar propriedades no Visual Studio.

  2. Selecione a Configuration Properties>C/C++>Command Line página de propriedades.

  3. Na caixa Opções adicionais , adicione /forceInterlockedFunctions para ativar. Escolha OK para salvar as alterações.

Para definir essa opção do compilador programaticamente

Ver também

Arm64 Intrínsecos
opções do compilador MSVC
de sintaxe de linha de comando do compilador MSVC