<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Header-Datei</id>
	<title>Header-Datei - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://wiki-de.moshellshocker.dns64.de/index.php?action=history&amp;feed=atom&amp;title=Header-Datei"/>
	<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Header-Datei&amp;action=history"/>
	<updated>2026-05-27T14:21:23Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in Wikipedia (Deutsch) – Lokale Kopie</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://wiki-de.moshellshocker.dns64.de/index.php?title=Header-Datei&amp;diff=310669&amp;oldid=prev</id>
		<title>imported&gt;Y2kbug: /* Aufgabe */ C-Präprozessor dazu, da dieser die mit #include angegebene Datei einfügt; siehe Diskussion:Header-Datei##include ist eine Präprozessor-Direktive</title>
		<link rel="alternate" type="text/html" href="https://wiki-de.moshellshocker.dns64.de/index.php?title=Header-Datei&amp;diff=310669&amp;oldid=prev"/>
		<updated>2026-04-09T06:06:52Z</updated>

		<summary type="html">&lt;p&gt;&lt;span class=&quot;autocomment&quot;&gt;Aufgabe: &lt;/span&gt; &lt;a href=&quot;/index.php/C-Pr%C3%A4prozessor&quot; title=&quot;C-Präprozessor&quot;&gt;C-Präprozessor&lt;/a&gt; dazu, da dieser die mit #include angegebene Datei einfügt; siehe &lt;a href=&quot;/index.php?title=Diskussion:Header-Datei&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;Diskussion:Header-Datei (Seite nicht vorhanden)&quot;&gt;Diskussion:Header-Datei##include ist eine Präprozessor-Direktive&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Eine &amp;#039;&amp;#039;&amp;#039;Header-Datei&amp;#039;&amp;#039;&amp;#039; ist in der [[Programmierung]], insbesondere in den Programmiersprachen [[C++]] und [[C (Programmiersprache)|C]], eine Textdatei, die [[Deklaration (Programmierung)|Deklarationen]] und andere Bestandteile des [[Quelltext]]es enthält. Quelltext, der sich in einer Header-Datei befindet, ist im Allgemeinen zur Verwendung in mehreren Programmen oder mehreren Teilen eines Programms vorgesehen.&lt;br /&gt;
&lt;br /&gt;
== Aufgabe ==&lt;br /&gt;
Zur Vereinfachung des Umgangs mit mittelgroßen oder großen Programmen unterteilt man Programme in mehrere sogenannte &amp;#039;&amp;#039;Übersetzungseinheiten&amp;#039;&amp;#039;. Dabei werden zusammengehörige Quelltextbestandteile in Dateien zusammengefasst, die sogenannten Header-Dateien, auf die durch Einbindung in den Quelltext von anderen Dateien Bezug genommen werden kann. Die Header-Dateien bilden dadurch die [[Schnittstelle]] zwischen den einzelnen Einheiten.&lt;br /&gt;
&lt;br /&gt;
Durch die Organisation in Header-Dateien wird auch eine Neuübersetzung der auf die Schnittstelle zugreifenden Programme oder Programmteile bei Änderungen der [[Implementierung]] vermieden.&lt;br /&gt;
&lt;br /&gt;
In Programmbibliotheken bilden Header-Dateien den einsehbaren Teil der Bibliothek, wohingegen der Rest in Übersetzungseinheiten oft vorübersetzt, also nicht in Form von Quelltext, vorliegt.&lt;br /&gt;
&lt;br /&gt;
Die Einbindung einer Header-Datei in eine Übersetzungseinheit durch das Übersetzungsprogramm wird über spezielle Instruktionen veranlasst. In C bspw. durch die [[Compiler-Anweisung]] &amp;lt;code&amp;gt;#include&amp;lt;/code&amp;gt;, die bewirkt, dass der [[C-Präprozessor]] die angegebene Datei einfügt.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;C&amp;quot;&amp;gt;&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
/* ... (weiterer Programmtext) */&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
In diesem Fall wird die Datei &amp;lt;code&amp;gt;stdio.h&amp;lt;/code&amp;gt; eingebunden, die Deklarationen von Funktionen enthält, die wichtig für das Lesen und Schreiben von Dateien und Benutzereingaben sind. Sie ist Teil der [[C-Standard-Bibliothek]] libc.&lt;br /&gt;
&lt;br /&gt;
== Alternativen ==&lt;br /&gt;
Header-Dateien funktionieren nach dem Prinzip der textuellen Ersetzung. In neueren Programmiersprachen, wie beispielsweise [[Java (Programmiersprache)|Java]] oder [[C-Sharp|C#]], wird dieses Konzept nicht mehr benötigt. Stattdessen werden Einheiten eingebunden, die nicht mehr Text, sondern Symbolinformationen anbieten. Dies ermöglicht eine bessere Trennung zwischen Schnittstelle und Implementierung und führt in der Regel zu kürzeren Übersetzungszeiten.&lt;br /&gt;
&lt;br /&gt;
== Header-only ==&lt;br /&gt;
&lt;br /&gt;
Als &amp;#039;&amp;#039;Header-only&amp;#039;&amp;#039; werden Programmbibliotheken bezeichnet, deren vollständiger Inhalt (Definitionen, Funktionen etc.) in Form einer oder mehrerer Header-Dateien zur Verfügung steht.&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Include-Guard]]&lt;br /&gt;
&lt;br /&gt;
[[Kategorie:C (Programmiersprache)]]&lt;br /&gt;
[[Kategorie:C++]]&lt;br /&gt;
&lt;br /&gt;
[[fr:Bibliothèque standard de C#Les en-têtes de la bibliothèque C ISO]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Y2kbug</name></author>
	</entry>
</feed>