Preprozessor

Der Preprozessor (oder Präprozessor) hat die Aufgabe, sich vor der eigentlichen Kompilation durch die zu kompilierenden Dateien durchzuarbeiten und sogenannte Direktiven umzusetzen. Diese Direktiven dienen hauptsächlich dazu, externe Dateien einzubinden, Makros zu definieren, sowie bedingte Compilierung und Fehlermeldungen zu steuern.

Die wichtigsten Direktiven

#includeEinbinden von Dateien
#defineDefinition eines Makros
#undefDefinitionen verwerfen
#errorCompiler-Fehler ausgeben
#warningCompiler-Warnung ausgeben

Bedingte Compilierung

#ifBedingte Compilierung
#elseElse-Teil der bedingten Compilierung
#elifFolge-Bedingung der bedingten Compilierung
#endifAbschluss einer bedingten Compilierung
#ifdefBedingte Compilierung aufgrund einer existierenden Makro-Definition
#ifndefBedingte Compilierung aufgrund einer fehlenden Makro-Definition
definedPrüft auf Existenz eines Makros

Weitere Preprozessor-Angaben

CompilermakrosVordefinierte Makros
Single #includeEinmaliges Einbinden von Dateien
Stringifizierung #Argument als String
Konkatenation ##Konkatenation
\ am Ende der ZeileZusammenfügen mehrerer Zeilen
Auslassungspunkte ...Variadische Makros

Seltene Direktiven

Folgende Direktiven sind der Vollständigkeit halber aufgeführt, für die normale Programmierung werden sie jedoch nicht benötigt. Da sie teils veraltet und häufig nicht standartisiert sind, wird ausserdem vom Gebrauch ABGERATEN, es sei denn, man weiss, was man tut.

#lineZeilennummern-Kontrolle
#importEinmalige Einbindung von Dateien
Null-Direktive #Null-Direktive
#include_nextEinbinden von Dateien nicht aus dem ersten Verzeichnis
#assertDefinieren von Prädikaten
#unassertInvalidierung von Prädikaten
#pragmaCompiler-Kontrolle
#identIdentifikations-Direktive
#sccsBSD-spezifische Direktive