Namensräume
Varianten
Aktionen

Atomare Operationen Bibliothek

Von cppreference.com
< c

Wenn die Makrokonstante __STDC_NO_ATOMICS__(C11) vom Compiler definiert ist, werden die Headerdatei <stdatomic.h>, das Schlüsselwort _Atomic und alle hier aufgeführten Namen nicht bereitgestellt.

Inhalt

[bearbeiten] Typen

Definiert im Header <stdatomic.h>
definiert Speicherreihenfolgebeschränkungen
(Enum) [bearbeiten]
sperrfreies atomares boolesches Flag
(Struktur)[bearbeiten]

[bearbeiten] Makros

Definiert im Header <stdatomic.h>
zeigt an, dass der gegebene atomare Typ sperrfrei ist
(Makro-Konstante) [bearbeiten]
initialisiert ein neues atomic_flag
(Makro-Konstante) [bearbeiten]
(C11)(veraltet in C17)(entfernt in C23)
initialisiert ein neues atomares Objekt
(Makro-Funktion) [bearbeiten]
bricht eine Abhängigkeitskette für memory_order_consume
(Makro-Funktion) [bearbeiten]

[bearbeiten] Funktionen

Definiert im Header <stdatomic.h>
setzt ein atomic_flag auf true und gibt den alten Wert zurück
(Funktion) [bearbeiten]
setzt ein atomic_flag auf false
(Funktion) [bearbeiten]
initialisiert ein vorhandenes atomares Objekt
(Funktion) [bearbeiten]
zeigt an, ob das atomare Objekt sperrfrei ist
(Funktion) [bearbeiten]
speichert einen Wert in einem atomaren Objekt
(Funktion) [bearbeiten]
liest einen Wert aus einem atomaren Objekt
(Funktion) [bearbeiten]
tauscht einen Wert mit dem Wert eines atomaren Objekts aus
(Funktion) [bearbeiten]
tauscht einen Wert mit einem atomaren Objekt aus, wenn der alte Wert der erwartete ist, andernfalls liest er den alten Wert
(Funktion) [bearbeiten]
atomare Addition
(Funktion) [bearbeiten]
atomare Subtraktion
(Funktion) [bearbeiten]
atomares bitweises ODER
(Funktion) [bearbeiten]
atomares bitweises exklusives ODER
(Funktion) [bearbeiten]
atomares bitweises UND
(Funktion) [bearbeiten]
allgemeines speicherordnungsabhängiges Fence-Synchronisationsprimitiv
(Funktion) [bearbeiten]
Fence zwischen einem Thread und einem Signal-Handler, der im selben Thread ausgeführt wird
(Funktion) [bearbeiten]

[bearbeiten] Typen

Die Standardbibliothek bietet praktische typedef-Namen für die atomaren Basistypen der Sprache.

Typedef-Name Vollständiger Typ-Name
atomic_bool _Atomic _Bool
atomic_char _Atomic char
atomic_schar _Atomic signed char
atomic_uchar _Atomic unsigned char
atomic_short _Atomic short
atomic_ushort _Atomic unsigned short
atomic_int _Atomic int
atomic_uint _Atomic unsigned int
atomic_long _Atomic long
atomic_ulong _Atomic unsigned long
atomic_llong _Atomic long long
atomic_ullong _Atomic unsigned long long
atomic_char8_t (C23) _Atomic char8_t
atomic_char16_t _Atomic char16_t
atomic_char32_t _Atomic char32_t
atomic_wchar_t _Atomic wchar_t
atomic_int_least8_t _Atomic int_least8_t
atomic_uint_least8_t _Atomic uint_least8_t
atomic_int_least16_t _Atomic int_least16_t
atomic_uint_least16_t _Atomic uint_least16_t
atomic_int_least32_t _Atomic int_least32_t
atomic_uint_least32_t _Atomic uint_least32_t
atomic_int_least64_t _Atomic int_least64_t
atomic_uint_least64_t _Atomic uint_least64_t
atomic_int_fast8_t _Atomic int_fast8_t
atomic_uint_fast8_t _Atomic uint_fast8_t
atomic_int_fast16_t _Atomic int_fast16_t
atomic_uint_fast16_t _Atomic uint_fast16_t
atomic_int_fast32_t _Atomic int_fast32_t
atomic_uint_fast32_t _Atomic uint_fast32_t
atomic_int_fast64_t _Atomic int_fast64_t
atomic_uint_fast64_t _Atomic uint_fast64_t
atomic_intptr_t _Atomic intptr_t
atomic_uintptr_t _Atomic uintptr_t
atomic_size_t _Atomic size_t
atomic_ptrdiff_t _Atomic ptrdiff_t
atomic_intmax_t _Atomic intmax_t
atomic_uintmax_t _Atomic uintmax_t

[bearbeiten] Referenzen

  • C23-Standard (ISO/IEC 9899:2024)
  • 7.17 Atomics <stdatomic.h> (S. TBD)
  • 7.31.8 Atomics <stdatomic.h> (S. TBD)
  • C17-Standard (ISO/IEC 9899:2018)
  • 7.17 Atomics <stdatomic.h> (S. TBD)
  • 7.31.8 Atomics <stdatomic.h> (S. TBD)
  • C11-Standard (ISO/IEC 9899:2011)
  • 7.17 Atomics <stdatomic.h> (S. 273-286)
  • 7.31.8 Atomics <stdatomic.h> (S. 455-456)

[bearbeiten] Siehe auch

C++ Dokumentation für Atomare Operationen Bibliothek