Programmiersprache C/C++

Header-Dateien

Header-Dateien werden mittels der Include-Direktive in C/C++-Quelltextdateien eingefügt.
Den Inhalt von Header-Dateien bilden üblicherweise Darüberhinaus kann eine Header-Datei die Deklaration von globalen Variablen enthalten.
Absolut unüblich ist die direkte Aufnahme von ausführbaren Anweisungen.

Einfügen von Header-Dateien in Quelltextdateien

  #include <name.h>
Die Header-Datei name.h wird in den Include-Verzeichnissen des C/C++-Systems gesucht.
Für die Festlegung der Include-Verzeichnisse gibt es mehrere Möglichkeiten: Es kann auch ein relativer Pfadname angegeben werden, z.B. <sys/name.h>. Absolute Pfadnamen sind üblich.

  #include "name.h"
Die Header-Datei name.h wird im aktuellen Verzeichnis gesucht. Die Notation "..." anstelle von <...> wird vorzugsweise für eigene Header-Dateien eingesetzt.

Es kann auch ein relativer oder ein absoluter Pfadname angegeben werden.

Mehrfaches Einfügen von Header-Dateien

Da es üblich ist, daß Header-Dateien selbst wieder mittels Include-Direktive andere Header-Dateien einfügen, kann es passieren, daß eine Header-Datei mehrfach eingefügt wird.
In dieser Situation kann es Re-Definitionen kommen, die meist zumindest eine Compiler-Warnung bei der Übersetzung auslösen.
Häufig werden auch symbolische Konstanten wie z.B. TRUE, FALSE, NULL, ... unabhängig voneinander (und manchmal konträr) definiert.
Um dies zu verhindern sollte jede Header-Datei in der Lage sein zu erkennen, ob sie bereits einmal eingefügt wurde. Dazu wird im Anfangsteil der Header-Datei eine symbolische Konstante definiert. Es kann dann abgefragt werden, ob diese symbolische Konstante bereits existiert.

Beispiel (Gnu-C):

  /* This is file stdio.h */

  #ifndef _stdio_h_
  #define _stdio_h_

  ... Definitionen von stdio.h ...

  #endif /* _stdio_h_ */

Zurück zum Menü
Zurück zur vorigen Seite Weiter zur nächsten Seite

P. Böhme, 17.12.1995