Freigeben über


/forceInterlockedFunctions

Wählt dynamisch zwischen Armv8.0-Last-, Speicher-Exclusive-Anweisungen oder Armv8.1 Large System Extension (LSE)-Anweisungen, basierend auf der CPU-Kapazität zur Laufzeit.

Syntax

/forceInterlockedFunctions[-]

Bemerkungen

Wenn möglich, vermeidet dieses Flag die Verwendung von Armv8.0 load and store exclusive-Anweisungen, da diese Anweisungen zu Livelocks führen können. Dieses Flag erzwingt, dass die folgenden ineinander verschachtelten systeminternen Funktionen als Out-of-Line-Funktionen generiert werden:

Vorgang 8 16 32 64 128 Zeiger
Hinzufügen Nichts Nichts Vollständig Vollständig Nichts Nichts
Und Vollständig Vollständig Vollständig Vollständig Nichts Nichts
VergleichenExchange Vollständig Vollständig Vollständig Vollständig Vollständig Vollständig
Verminderung Nichts Vollständig Vollständig Vollständig Nichts Nichts
Umtausch Vollständig Vollständig Vollständig Vollständig Nichts Vollständig
ExchangeHinzufügen Vollständig Vollständig Vollständig Vollständig Nichts Nichts
Zunahme Nichts Vollständig Vollständig Vollständig Nichts Nichts
Oder Vollständig Vollständig Vollständig Vollständig Nichts Nichts
Xor Vollständig Vollständig Vollständig Vollständig Nichts Nichts
bittestandreset Nichts Nichts Vollständig Vollständig Nichts Nichts
bittestandset Nichts Nichts Vollständig Vollständig Nichts Nichts

Schlüssel:

  • Voll: unterstützt glatte, _acq, _relund _nf Formen.

  • Keine: Nicht unterstützt

Weitere Informationen zu intrinsischen Interlocked finden Sie im Abschnitt "Interlocked intrinsics" in Arm64 Intrinsics.

So legen Sie die /forceInterlockedFunctions Compileroption in Visual Studio fest

  1. Öffnen Sie das Dialogfeld Eigenschaftenseiten für das Projekt. Weitere Informationen erhalten Sie unter Set C++ compiler and build properties in Visual Studio (Festlegen der Compiler- und Buildeigenschaften (C++) in Visual Studio).

  2. Klicken Sie auf der Eigenschaftenseite auf Konfigurationseigenschaften>C/C++>Befehlszeile.

  3. Fügen Sie /forceInterlockedFunctions im Feld Zusätzliche Optionen hinzu, um zu aktivieren. Klicken Sie auf OK, um die Änderungen zu speichern.

So legen Sie diese Compileroption programmgesteuert fest

Siehe auch

Arm64 Systeminterne Funktionen
MSVC-Compileroptionen
Syntax für die MSVC-Compilerbefehlszeile