Vordefinierte Defines

In der C-Standardbibliothek sind einige Makros vordefiniert (Hierbei sind die Unterstriche zu beachten):

Makro Aufgabe Datentyp
__TIME__Ausgabe der aktuellen Zeit.String
__DATE__Ausgabe des aktuellen Datums.String
__LINE__Ausgabe der Zeilennummer der aktuellen Zeile im Quelltext.Integer
__FILE__Name des compilierten Programms.String
__func__Ausgabe des Namens der Funktion, in der sich das Makro befindet.String
__STDC__Liefert den Wert 1, wenn der Compiler dem Ansi-C-Standard konform ist.Integer
__STD_VERSION__Liefert den Wert 199901L (Januar 1990), wenn der Compiler dem C99-Standard entspricht.String

Es gibt auch noch betriebssystemspezifische Konstanten:

Makros Betriebssystem
__unix__ UNIX
__MSDOS__MS-Dos
_WIN32Windows
__linux__Linux
FreeBSDFree-BSD
OpenBSDOpen-BSD

Um C von C++ zu unterscheiden, ist in C++ „__cplusplus“ definiert.