|
|
Makro, das zur POSIX-kompatiblen, Thread-lokalen Fehlernummern-Variable expandiert (Makrovariable) [bearbeiten] |
|
|
Makros für Standard-POSIX-kompatible Fehlerbedingungen (Makrokonstante) [bearbeiten] |
|
|
bricht das Programm ab, wenn die vom Benutzer spezifizierte Bedingung nicht wahr ist. Kann für Release-Builds deaktiviert werden (Funktionsmakro) [bearbeiten] |
|
|
gibt eine Diagnose zur Kompilierungszeit aus, wenn der Wert eines konstanten Ausdrucks falsch ist (Keyword-Makro)
|
Grenzenprüfung
Die Standardbibliothek stellt grenzgeprüfte Versionen einiger bestehender Funktionen bereit (gets_s, fopen_s, printf_s, strcpy_s, wcscpy_s, mbstowcs_s, qsort_s, getenv_s, etc). Diese Funktionalität ist optional und nur verfügbar, wenn __STDC_LIB_EXT1__ definiert ist. Die folgenden Makros und Funktionen unterstützen diese Funktionalität.
|
|
|
|
ein Typedef für den Typ int, der zur Selbstdokumentation von Funktionen verwendet wird, die errno-Werte zurückgeben (typedef)
|
|
|
|
|
ein Typedef für denselben Typ wie size_t, der zur Selbstdokumentation von Funktionen verwendet wird, die ihre Parameter zur Laufzeit auf Bereiche prüfen (typedef)
|
|
|
|
|
größte akzeptable Größe für grenzgeprüfte Funktionen, expandiert zu einer Konstanten oder Variablen, die sich zur Laufzeit ändern kann (z.B. wenn sich die aktuell zugewiesene Speichergröße ändert) (Makrovariable)
|
|
|
|
|
legt den Fehler-Callback für grenzgeprüfte Funktionen fest (Funktion) [bearbeiten] |
|
|
Abbruch-Callback für die grenzgeprüften Funktionen (Funktion) [bearbeiten] |
|
|
Ignorier-Callback für die grenzgeprüften Funktionen (Funktion) [bearbeiten] |
Hinweis: Implementierungen von grenzgeprüften Funktionen sind als Open-Source-Bibliotheken Safe C und Slibc verfügbar, sowie als Teil von Watcom C. Es gibt auch eine inkompatible Reihe von grenzgeprüften Funktionen, die in Visual Studio verfügbar sind.
|
(seit C11) |
Seit C23 ist static_assert selbst ein Schlüsselwort, das auch ein vordefiniertes Makro sein kann, daher stellt <assert.h> es nicht mehr bereit.
| Erweiterter Inhalt
|
- C23-Standard (ISO/IEC 9899:2024)
- 7.2 Diagnostik <assert.h> (S: TBD)
- 7.5 Fehler <errno.h> (S: TBD)
- 7.19 Common definitions <stddef.h> (p: TBD)
- 7.20 Ganzzahlige Typen <stdint.h> (S: TBD)
- 7.21 Ein-/Ausgabe <stdio.h> (S: TBD)
- 7.22 Allgemeine Dienstprogramme <stdlib.h> (S: TBD)
- K.3.1.3 Verwendung von errno (S: TBD)
-
-
- K.3.4/2 RSIZE_MAX (S: TBD)
- 7.31.3 Fehler <errno.h> (S: TBD)
- 7.31.10 Ganzzahlige Typen <stdint.h> (S: TBD)
- 7.31.11 Ein-/Ausgabe <stdio.h> (S: TBD)
- 7.31.12 Allgemeine Dienstprogramme <stdlib.h> (S: TBD)
- C17-Standard (ISO/IEC 9899:2018)
- 7.2 Diagnostik <assert.h> (S: TBD)
- 7.5 Fehler <errno.h> (S: TBD)
- 7.19 Common definitions <stddef.h> (p: TBD)
- 7.20 Ganzzahlige Typen <stdint.h> (S: TBD)
- 7.21 Ein-/Ausgabe <stdio.h> (S: TBD)
- 7.22 Allgemeine Dienstprogramme <stdlib.h> (S: TBD)
- K.3.1.3 Verwendung von errno (S: TBD)
-
-
- K.3.4/2 RSIZE_MAX (S: TBD)
- 7.31.3 Fehler <errno.h> (S: TBD)
- 7.31.10 Ganzzahlige Typen <stdint.h> (S: TBD)
- 7.31.11 Ein-/Ausgabe <stdio.h> (S: TBD)
- 7.31.12 Allgemeine Dienstprogramme <stdlib.h> (S: TBD)
- C11-Standard (ISO/IEC 9899:2011)
- 7.2 Diagnostik <assert.h> (S: 186-187)
- 7.5 Fehler <errno.h> (S: 205)
- 7.19 Common definitions <stddef.h> (p: 288)
- 7.20 Ganzzahlige Typen <stdint.h> (S: 289-295)
- 7.21 Ein-/Ausgabe <stdio.h> (S: 296-339)
- 7.22 Allgemeine Dienstprogramme <stdlib.h> (S. 340-360)
- K.3.1.3 Verwendung von errno (S: 584)
-
-
- K.3.4/2 RSIZE_MAX (S: 585)
- 7.31.3 Fehler <errno.h> (S: 455)
- 7.31.10 Ganzzahlige Typen <stdint.h> (S: 456)
- 7.31.11 Ein-/Ausgabe <stdio.h> (S: 456)
- 7.31.12 Allgemeine Dienstprogramme <stdlib.h> (S. 456)
- C99-Standard (ISO/IEC 9899:1999)
- 7.2 Diagnostik <assert.h> (S: 169)
- 7.5 Fehler <errno.h> (S: 186)
- 7.26.3 Fehler <errno.h> (S: 401)
- 7.26.8 Ganzzahlige Typen <stdint.h> (S: 401)
- 7.26.9 Ein-/Ausgabe <stdio.h> (S: 402)
- 7.26.10 Allgemeine Dienstprogramme <stdlib.h> (S. 402)
- C89/C90-Standard (ISO/IEC 9899:1990)
- 4.2 DIAGNOSTICS <assert.h>
-
-
- 4.13.6 Ein-/Ausgabe <stdio.h>
- 4.13.7 Allgemeine Dienstprogramme <stdlib.h>
|
|
|
definiert den von den allgemeinen mathematischen Funktionen verwendeten Fehlerbehandlungsmechanismus (Makrokonstante) [bearbeiten] |
|
|