#include
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
|
Form mit spitzen Klammern |
Die Form |