Programmiersprache C/C++

Präprozessor

#include

  #include <header_name>
  #include "header_name"
  #include makro_name
Die Direktive #include fügt andere, benannte Dateien (Include-Dateien), in das Quellprogramm ein.
Dabei handelt es sich meist um Header-Dateien.

Der Präprozessor entfernt die #include-Zeile und ersetzt sie durch den gesamten Quelltext der Include-Datei. Die Quelltextdatei selbst wird nicht physisch verändert, der Compiler erhält jedoch den modifizierten Text zur Übersetzung.

Der Unterschied zwischen den Formen <header_name> und "header_name" liegt in der Suchstrategie für das Auffinden der Include-Datei.

Beispiel:
  #include <header.h>
Die #include-Direktive bewirkt, daß der Präprozessor nach header.h in den voreingestellten Include-Verzeichnissen sucht.

Beispiel:

  #include "header.h"
Die #include-Direktive bewirkt, daß der Präprozessor nach header.h erst im aktuellen Verzeichnis und danach in den voreingestellten Verzeichnissen sucht.

Beispiel:

  #define MY_HEADER "/home/user/my_header.h"
  ...
  #include MY_HEADER
Nach der Makroerweiterung bewirkt die folgende #include-Direktive, daß der Präprozessor ausschließlich nach /home/user/my_header.h sucht.

Beispiel:

  #if defined unix
    #define MY_HEADER "unix_header.h"
  #elif defined __MSDOS__
    #define MY_HEADER "DOS_header.h"
  #else
    #define MY_HEADER "other_header.h"
  #endif

  #include MY_HEADER
In Abhängigkeit vom Betriebssystem wird jeweils eine spezielle Header-Datei verwendet.
Bemerkung: Die abgefragten symbolischen Konstanten werden nicht von jedem C-System automatisch definiert.

Die Angabe von Makronamen in #include-Direktiven wird nicht von allen Compilern unterstützt.


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

P. Böhme, 18.03.1996