Header-Datei: Unterschied zwischen den Versionen
Jango (Diskussion | Beiträge) |
Jango (Diskussion | Beiträge) |
||
Zeile 8: | Zeile 8: | ||
===C=== | ===C=== | ||
− | <code> | + | <code=Cpp> |
#include <stdio.h> | #include <stdio.h> | ||
// ... (weiterer Quelltext) | // ... (weiterer Quelltext) | ||
− | </code> | + | </code=Cpp> |
===C++=== | ===C++=== | ||
− | <code> | + | <code=Cpp> |
#include <iostream.h> | #include <iostream.h> | ||
// ... (weiterer Quelltext) | // ... (weiterer Quelltext) | ||
− | </code> | + | </code=Cpp> |
<br/> | <br/> | ||
''Header-Dateien'' funktionieren nach dem Prinzip der textuellen Ersetzung. In neueren Programmiersprachen wird das Konzept der ''Header-Dateien'' nicht mehr verwendet. Stattdessen gibt es ''Module'', die nicht mehr Text sondern Symbolinformationen einbinden. Dies ermöglicht eine bessere Trennung zwischen [[Schnittstelle]] und [[Implementierung]] und sorgt in der Regel auch für kürzere Erstellungszeiten beim Kompilieren des Programmes. | ''Header-Dateien'' funktionieren nach dem Prinzip der textuellen Ersetzung. In neueren Programmiersprachen wird das Konzept der ''Header-Dateien'' nicht mehr verwendet. Stattdessen gibt es ''Module'', die nicht mehr Text sondern Symbolinformationen einbinden. Dies ermöglicht eine bessere Trennung zwischen [[Schnittstelle]] und [[Implementierung]] und sorgt in der Regel auch für kürzere Erstellungszeiten beim Kompilieren des Programmes. | ||
Zeile 33: | Zeile 33: | ||
Eine weitere Variante wäre die Schreibweise, in der die Header in einem Namespace zusammen geführt werden (meiner Meinung nach, eine elegantere Methode): | Eine weitere Variante wäre die Schreibweise, in der die Header in einem Namespace zusammen geführt werden (meiner Meinung nach, eine elegantere Methode): | ||
− | <code> | + | <code=Cpp> |
#include <iostream> | #include <iostream> | ||
using namespace std; | using namespace std; | ||
// ... (weiterer Quelltext) | // ... (weiterer Quelltext) | ||
− | </code> | + | </code=Cpp> |
Änderungen: | Änderungen: | ||
--[[Benutzer:Jango|Jango]] 09:34, 20. Nov 2009 (UTC) | --[[Benutzer:Jango|Jango]] 09:34, 20. Nov 2009 (UTC) |
Version vom 20. November 2009, 09:36 Uhr
Eine Header-Datei ist in der Programmierung, insbesondere bei den Programmiersprachen C++ und C, eine Textdatei, die Deklarationen und andere Bestandteile des Quelltextes enthält. Quelltext, der sich in einer Header-Datei befindet, ist im Allgemeinen zur Verwendung in mehreren Teilen des Programmes vorgesehen.
Zur Vereinfachung des Umgangs mit mittelgroßen oder großen Programmen unterteilt man Programme in mehrere Einheiten (auch Übersetzungseinheiten genannt). Dabei werden zusammengehörige Quelltextebestandteile in Dateien zusammengefasst, auf die von anderen Dateien Bezug genommen werden kann.
Header-Dateien bilden sozusagen die Schnittstellen zwischen den verschiedenen Bestandteilen eines Programms. 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.
Beispiel für die Verwendung einer Header-Datei in einer Übersetzungseinheit:
C
<code=Cpp>
#include <stdio.h> // ... (weiterer Quelltext)
</code=Cpp>
C++
<code=Cpp>
#include <iostream.h> // ... (weiterer Quelltext)
</code=Cpp>
Header-Dateien funktionieren nach dem Prinzip der textuellen Ersetzung. In neueren Programmiersprachen wird das Konzept der Header-Dateien nicht mehr verwendet. Stattdessen gibt es Module, die nicht mehr Text sondern Symbolinformationen einbinden. Dies ermöglicht eine bessere Trennung zwischen Schnittstelle und Implementierung und sorgt in der Regel auch für kürzere Erstellungszeiten beim Kompilieren des Programmes.
Dieser Beitrag stammt in seiner ersten oder einer späteren Version der deutschsprachigen Wikipedia. Er ist dort unter Header-Datei zu finden, die Liste der bisherigen Autoren befindet sich in der Versionsliste. |
Ergänzung:
Eine weitere Variante wäre die Schreibweise, in der die Header in einem Namespace zusammen geführt werden (meiner Meinung nach, eine elegantere Methode):
<code=Cpp>
#include <iostream> using namespace std; // ... (weiterer Quelltext)
</code=Cpp>
Änderungen: --Jango 09:34, 20. Nov 2009 (UTC)