#include

Aus Appmethod Topics
Wechseln zu: Navigation, Suche

Nach oben zu Präprozessor-Direktiven - Index


Syntax

#include <header_name>
#include "header_name"
#include <macro_definition>

Informationen zur #include-Syntax in C++-Compilern, die durch Clang erweitert wurden, finden Sie unter Durch Clang erweiterte C++-Compiler, #include-Pfade und Suche.

Beschreibung

Die Direktive #include fügt andere, benannte Dateien (Include-Dateien, Header-Dateien oder Header genannt) in den Quellcode ein. Die Syntax kennt drei Formen:

  • Die erste und die zweite Form setzen voraus, dass keine Makroerweiterung versucht wird; anders gesagt, header_name wird nicht nach Makronamen durchsucht. header_name muss ein gültiger Dateiname mit Erweiterung (traditionell ist dies .h für header files) und optional mit einer Pfadangabe und Pfadbegrenzern sein.
  • Die dritte Form setzt voraus, dass nach #include weder ein < noch ein " als erstes Nicht-Whitespace-Zeichen steht. Außerdem wird vorausgesetzt, dass eine Makrodefinition existiert, die den Makrobezeichner zu einem gültigen, begrenzten Header-Namen im Format <header_name> oder "header_name" erweitert.

Der Präprozessor entfernt die #include-Zeile und ersetzt sie wirkungsmäßig durch den gesamten Quelltext der Include-Datei. Die Quelltextdatei selbst wird nicht wirklich verändert, aber der Compiler "sieht" den ergänzten Text. Das Einfügen einer #include-Direktive kann also Gültigkeitsbereich und -dauer von Bezeichnern der eingefügten Datei beeinflussen.

Wenn Sie in header_name einen expliziten Pfadnamen angeben, so wird nur das angegebene Verzeichnis durchsucht.

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

Syntaxform Suchstrategie

Form mit Anführungszeichen

Die Form "header_name" legt eine vom Programmierer bereitgestellte Include-Datei fest. Sie wird in der folgenden Reihenfolge gesucht:

  1. Im Verzeichnis, das die Datei mit der #include-Anweisung enthält.
  2. In den Verzeichnissen der Dateien, die die gesuchte Datei einbeziehen (#include).
  3. Im aktuellen Verzeichnis.
  4. Im Pfad, der durch die Option Include-Suchpfad (-I) festgelegt ist.

Form mit spitzen Klammern

Die Form <header_name> legt eine Standard-Include-Datei fest. Die Suche erfolgt in jedem der Include-Verzeichnisse in der Reihenfolge, in der sie in der Option Include-Suchpfad (-I) angegeben werden. Falls sich die Datei in keinem der Vorgabeverzeichnisse befindet, wird eine Fehlermeldung ausgegeben.

Siehe auch