Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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_nfFormen.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
Ö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).
Klicken Sie auf der Eigenschaftenseite auf Konfigurationseigenschaften>C/C++>Befehlszeile.
Fügen Sie
/forceInterlockedFunctionsim 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 AdditionalOptions.
Siehe auch
Arm64 Systeminterne Funktionen
MSVC-Compileroptionen
Syntax für die MSVC-Compilerbefehlszeile