Include
# Include

Include (englisch include, einschließen, latein. includere, einschließen, einsperren, anbringen, begrenzen), auch Include Statement genannt, ist in der Programmierung eine im Quelltext eines Computerprogramms enthaltene Anweisung an den Compiler bzw. dessen Präprozessor, einen als Parameter namentlich spezifizierten Codeteil im bearbeiteten Quellcode einzufügen. Dabei wird in dem für die Weiterverarbeitung, insbesondere zum Übersetzen temporär erzeugten Programmcode anstelle der Include-Anweisung der Inhalt der includierten Elemente eingesetzt, die originären plus alle eingefügten Textteile bilden also den eigentlichen Programmcode. Dagegen bleibt der ursprüngliche Quelltext unverändert, d. h., er enthält nur das/die Include-Statement(s).

Die einzufügenden Teile sind meist Datendeklarationen oder Routinen bzw. Fragmente davon. Sie wurden geschaffen und bereitgestellt, um in mehreren Programmen in identischer Form benutzt zu werden, im Wesentlichen um in den Programm-Quelltexten Redundanzen zu vermeiden. Das Anwenden der Include-Technik entspricht damit teilweise den Prinzipien der modularen Programmierung: Jedes Programmdetail existiert nur einmalig, im Wartungsfall muss nur an einer Stelle aktiv modifizierend eingegriffen werden, beim Testen kann (außer bei der ersten Benutzung) auf hohe Testabdeckung für den eingefügten Code meist verzichtet werden. Zusätzlich sind allerdings Kompilierungen und ggf. weitere Implementierungsmaßnahmen (wie Testen) für alle Programme erforderlich, in denen das geänderte Element verwendet wird.

Abgrenzung: ‚Include‘ ist das Einfügen von Programmtext im Rahmen der Programmierung. Dagegen ist ‚Import(ieren)‘ das Übernehmen/Einfügen fachlich-betrieblicher Daten im Betrieb eines Programms, neben dem ‚Export(ieren)‘ zum Begriff Datenaustausch gehörend.

## Andere Anwendungsmöglichkeiten

Außerhalb der Programmierung werden Include-Kommandos auch in anderen Zusammenhängen benutzt, zum Beispiel:

* als Tags, mit denen die Mediawiki-Software selektiv Teile einer Seite in eine andere übernimmt.

## Unterschiede je nach Programmiersprache

Je nach Programmiersprache, zum Teil auch sprachversionsabhängig, können Include-Anweisungen unterschiedlich bezeichnet werden, eine unterschiedliche Syntax aufweisen, optional weitere Parameter enthalten (die bei der Umsetzung der Include-Anweisung berücksichtigt werden – wie zum Beispiel das Einfügen aus explizit definierbaren Bibliotheken, das Ersetzen von Textelementen), oder sie sind nur in bestimmten Programmabschnitten gültig. Siehe Beispiele.

* C oder C++: #include; Standard-Bibliothek oder individuelle Include-Datei zuweisbar; Parameter = ‚header.h‘.
* Cobol: Kommando = Include oder copy; in der Data- oder der Procedure Division. Einzufügende Objekte werden auch Copy-Element, Copystrecke, Copybook oder auch (umgangssprachlich) "Copy" oder "Include" genannt. Optional können Texte durch andere ersetzt werden (Replace-Parameter).
* Assemblersprache: Include-Funktionen werden oft als Makro umgesetzt. Welche Funktionalität dabei möglich ist, zum Beispiel das Umbenennen von Variablennamen, hängt von der Implementierung des Makros ab.
