Dela via


/forceInterlockedFunctions

Väljer dynamiskt mellan Armv8.0-belastning, lagra exklusiva instruktioner eller Armv8.1 Large System Extension (LSE) atomiska instruktioner baserat på CPU-kapacitet vid körning.

Syntax

/forceInterlockedFunctions[-]

Anmärkningar

När det är möjligt undviker den här flaggan att använda Armv8.0 ladda och lagra exklusiva instruktioner, eftersom dessa instruktioner kan resultera i livelocks. Den här flaggan tvingar följande sammankopplade inneboende funktioner att genereras som out-of-line-funktioner:

Verksamhet 8 16 32 64 128 Pekare
Lägg till Ingen Ingen Fullständig Fullständig Ingen Ingen
och Fullständig Fullständig Fullständig Fullständig Ingen Ingen
CompareExchange Fullständig Fullständig Fullständig Fullständig Fullständig Fullständig
Minskning Ingen Fullständig Fullständig Fullständig Ingen Ingen
Utbyte Fullständig Fullständig Fullständig Fullständig Ingen Fullständig
ExchangeAdd (ExchangeLägg till) Fullständig Fullständig Fullständig Fullständig Ingen Ingen
Stegvis Ingen Fullständig Fullständig Fullständig Ingen Ingen
Eller Fullständig Fullständig Fullständig Fullständig Ingen Ingen
Xor Fullständig Fullständig Fullständig Fullständig Ingen Ingen
bittestandreset Ingen Ingen Fullständig Fullständig Ingen Ingen
bittestandset Ingen Ingen Fullständig Fullständig Ingen Ingen

Nyckel:

  • Fullständig: stöder plain, _acq, _reloch _nf forms.

  • Ingen: Stöds inte

För mer information om interlocked intrinsics, se avsnittet "Interlocked intrinsics" i Arm64 Intrinsics.

Så här anger du /forceInterlockedFunctions kompilatoralternativet i Visual Studio

  1. Öppna dialogrutan egenskapssidor för projektet. Mer information finns i Ange C++-kompilator- och byggegenskaper i Visual Studio.

  2. Välj egenskapssidan Konfigurationsegenskaper>C/C++>kommandorad.

  3. I rutan Ytterligare alternativ lägger du till /forceInterlockedFunctions för att aktivera. Välj OK för att spara ändringarna.

Så här ställer du in det här kompilatoralternativet programmatiskt

Se även

Arm64 Inneboende egenskaper
MSVC-kompilatoralternativ
kommandoradssyntax för MSVC-kompilatorn