Partager via


/forceInterlockedFunctions

Permet de choisir dynamiquement entre le chargement Armv8.0, le stockage d’instructions exclusives ou les instructions atomiques Armv8.1 Large System Extension (LSE) en fonction de la capacité du processeur au moment de l’exécution.

Syntaxe

/forceInterlockedFunctions[-]

Remarques

Lorsque cela est possible, cet indicateur évite d’utiliser Armv8.0 pour charger et stocker des instructions exclusives, car ces instructions peuvent entraîner des livelocks. Cet indicateur force la génération des fonctions intrinsèques imbriquées suivantes en tant que fonctions hors ligne :

Opération 8 16 32 64 128 Pointeur
Ajouter Aucun Aucun Complet Complet Aucun Aucun
and Complet Complet Complet Complet Aucun Aucun
ComparerÉchanger Complet Complet Complet Complet Complet Complet
Décrémentation Aucun Complet Complet Complet Aucun Aucun
Échange Complet Complet Complet Complet Aucun Complet
ÉchangeAjouter Complet Complet Complet Complet Aucun Aucun
Incrément Aucun Complet Complet Complet Aucun Aucun
ou Complet Complet Complet Complet Aucun Aucun
Xor Complet Complet Complet Complet Aucun Aucun
bittestandreset Aucun Aucun Complet Complet Aucun Aucun
bittestandset Aucun Aucun Complet Complet Aucun Aucun

Clé :

  • Complet : prend en charge les formes simples, _acq, _relet _nf les formes.

  • Aucun : non pris en charge

Pour plus d’informations sur les intrinsèques imbriquées, consultez la section « Intrinsèques imbriquées » dans Intrinsèques Arm64.

Pour définir l’option du /forceInterlockedFunctions compilateur dans Visual Studio

  1. Ouvrez la boîte de dialogue Pages de propriétés du projet. Pour plus d’informations, consultez Définir le compilateur C++ et les propriétés de build dans Visual Studio.

  2. Sélectionnez la page de propriétés Propriétés de configuration>C/C++>Ligne de commande.

  3. Dans la zone Options supplémentaires , ajoutez /forceInterlockedFunctions pour activer. Choisissez OK pour enregistrer vos modifications.

Pour définir cette option du compilateur par programmation

Voir aussi

Intrinsèques à l’Arm64
Options du compilateur MSVC
Syntaxe de ligne de commande du compilateur MSVC