Die Standard-Includes enthalten die Prototyp-Deklarationen für alle C-Bibliotheksfunktionen, die das C-Laufzeitsystem zur Verfügung stellt. Ca. 50 dieser Bibliotheksfunktionen sind nicht im ANSI-Standard definiert, sondern stellen BS2000-spezifische Erweiterungen (z.B. bs2fstat
, _edt
) oder UNIX-spezifische Erweiterungen (z.B. open
, gamma
) dar.
Um die Programmierung ANSI-konformer Applikationen zu ermöglichen, wird das Define _STRICT_STDC
zur Verfügung gestellt.
Dieses Define wird zum Übersetzungszeitpunkt mit folgender Option gesetzt:
Mit dem C- und C++-Compiler V2.2
SOURCE-PROPERTIES = PAR(LANGUAGE-STANDARD = STRICT-ANSI)
Mit dem C/C++-Compiler ab V3.0
MODIFY-SOURCE-PROPERTIES LANGUAGE=*C(MODE=*STRICT-ANSI)
Mit dem C/C++-Compiler ab V4.0
MODIFY-SOURCE-PROPERTIES LANGUAGE=*C(MODE={*LATEST|1990|2011},STRICT=*YES)
Wenn das Define _STRICT_STDC
gesetzt ist, werden die Prototyp-Deklarationen für alle nicht im ANSI-Standard definierten Funktionen in den Standard-Includes ausgeschaltet bzw. umgangen. Die Namen dieser Funktionen sind dann als benutzereigene Namen frei verfügbar.
Das Define _STRICT_STDC
bezieht sich nur auf die Prototyp-Deklarationen innerhalb von ANSI-definierten Standard-Includes. Die BS2000-spezifischen Include-Header enthalten keine Abfrage dieses Defines.