#include <header_name> #include "header_name" #include makro_nameDie Direktive #include fügt andere, benannte Dateien (Include-Dateien), in das Quellprogramm ein.
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.
#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_HEADERNach 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. Die Angabe von Makronamen in #include-Direktiven wird nicht von allen Compilern unterstützt.