/forceInterlockedFunctions

Dynamicky volí mezi zatížením Armv8.0, ukládáním exkluzivních instrukcí nebo atomickými instrukcemi Armv8.1 Large System Extension (LSE) na základě schopností CPU za běhu.

Syntaxe

/forceInterlockedFunctions[-]

Poznámky

Pokud je to možné, tento příznak se vyhýbá použití exkluzivních instrukcí Armv8.0 load and store, protože tyto instrukce mohou vést k živým blokům. Tento příznak vynutí generování následujících vzájemně propojených vnitřních objektů jako mimořádkových funkcí:

Operace 8 16 32 64 128 Ukazatel
Přidej Žádné Žádné Úplný Úplný Žádné Žádné
A Úplný Úplný Úplný Úplný Žádné Žádné
Porovnat Exchange Úplný Úplný Úplný Úplný Úplný Úplný
Pokles Žádné Úplný Úplný Úplný Žádné Žádné
Výměna Úplný Úplný Úplný Úplný Žádné Úplný
ExchangeAdd Úplný Úplný Úplný Úplný Žádné Žádné
Přírůstek Žádné Úplný Úplný Úplný Žádné Žádné
Nebo Úplný Úplný Úplný Úplný Žádné Žádné
Xor Úplný Úplný Úplný Úplný Žádné Žádné
bittestandreset Žádné Žádné Úplný Úplný Žádné Žádné
bittestandset Žádné Žádné Úplný Úplný Žádné Žádné

Klíč:

  • Plný: podporuje prosté, _acq, _rela _nf formuláře.

  • Žádné: Není podporováno

Další informace o propojených vnitřních objektech naleznete v části "Propojené vnitřní objekty" v Arm64 – vnitřní objekty.

Nastavení možnosti kompilátoru /forceInterlockedFunctions v sadě Visual Studio

  1. Otevřete dialogové okno Stránky vlastností projektu. Další informace naleznete v tématu Nastavení kompilátoru jazyka C++ a vlastností sestavení v sadě Visual Studio.

  2. Vyberte stránku vlastností příkazového řádku C/C++>Vlastnosti>konfigurace.

  3. V poli Další možnosti přidejte /forceInterlockedFunctions a povolte. Kliknutím na OK uložte provedené změny.

Programové nastavení tohoto parametru kompilátoru

Viz také

Arm64 – vnitřní prvky
Možnosti kompilátoru MSVC
Syntaxe příkazového řádku kompilátoru MSVC