Participer au site avec un Tip
Rechercher
 

Améliorations / Corrections

Vous avez des améliorations (ou des corrections) à proposer pour ce document : je vous remerçie par avance de m'en faire part, cela m'aide à améliorer le site.

Emplacement :

Description des améliorations :

Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé

Macros ATOMIC_FLAG_INIT et ATOMIC_VAR_INIT (C11)

Entête à inclure

#include <stdatomic.h>

Ces macros servent à initialiser des objets atomiques. ATOMIC_FLAG_INIT initialise un atomic_flag à l'état clair.

La macro ATOMIC_VAR_INIT est devenue obsolescente en C17 et a été retirée du standard C23. Il vaut mieux privilégier l'initialisation directe ou atomic_init quand vous ciblez des environnements plus anciens.
Macro Depuis Description
ATOMIC_FLAG_INIT C11 Initialise un objet atomic_flag dans l'état clair.
ATOMIC_VAR_INIT C11, obsolète en C17, retirée en C23 Initialisait un objet atomique avec une valeur compatible.

Exemple de code

L'exemple suivant initialise un atomic_flag à l'état clair.

 1 
 2 
 3 
 4 
 5 
 6 
 7 
 8 
 9 
 10 
 11 
#include <stdatomic.h>
#include <stdio.h>
#include <stdlib.h>

int main() {

    atomic_flag flag = ATOMIC_FLAG_INIT;

    printf( "%d\n", atomic_flag_test_and_set( &flag ) );
    return EXIT_SUCCESS;
}
Initialiser un atomic_flag

Cet exemple produit l'affichage suivant.

0

Sujets connexes

La librairie <stdatomic.h>
atomic_flag
atomic_init


Vous êtes un professionnel et vous avez besoin d'une formation ? Programmation avec
Le langage C
Voir le programme détaillé