Hier mal ein sehr sehr grundlegendes Tutorial über headers
(einbinden , selber erstellen etc ).
Also nun zu unserem "Tutorial":
Wenn ihr schon Erfahrung in der C/C++ Programmierung habt (wovon ich ausgehe) wird die erste Zeile in eurem Source Code sicherlich so , oder so ähnlich, aussehen :
Code:
#include <iostream> // Beispiel Iostream
Die Bibliothek IOSTREAM
Grob gesagt :
"Wir inkludieren eine Bibliothek, die bestimmte
Funktionen , Defines ... enthält. In unserem Beispiel (siehe oben) haben wir die Bibliothek IOSTREAM eingebunden .
Der Name IOSTREAM kommt eigentlich von 2 Bibliotheken
ISTREAM und OSTREAM
Istream für die Usereingabe (cin)
Ostream für die Ausgabe (cout , cerr( Fehlerausgabe ) , clog( Fehlerausgabe mit Puffer ) )
Also steht das "I" in IOSTREAM für Input
das "O" für Output
aber wofür steht das STREAM ?
Streams sind ,prinzipiell, dafür verantwortlich , dass das was ihr in die Tastatur "hämmert" auch wirklich auf dem Monitor ausgegeben wird (weiteres führt zu weit vom Thema ab wenn es euch interessierte einfach googelen :-) )
(Mehr dazu :
)Soviel zum Thema IOSTREAM!
(aus C++ in 21 Tagen )Quote:
Eine Bibliothek ist eine Sammlung von .obj-Dateien, die in Ihr Programm eingebunden werden können und ihm zusätzliche Funktionalität verleihen. Dies ist die einfachste Form der Wiederverwertung von einem Code. Es gibt sie, seit die Programmierer begonnen haben Einsen und Nullen in die Wände ihrer Höhlen zu meißeln.
Aber wie kann ich selber eine Bibliothek / Header Datei erstellen ?
Dies ist eigentlich gar nicht mal so schwierig als allererstes öffnet ihr eure IDE (Entwicklungsumgebung) (in Code::Blocks gibt es die Möglichkeit gleich eine Bibliothek zu erstellen ich werde hier aber die etwas üblichere Methode wählen :-)
Dann tippt ihr folgendes ein :
Code:
//Die Bibliotheken die wir brauchen um Funktionen in UNSERER Bibliothek zu schreiben #include < iostream> //1. #ifndef NAMEVONDEINERBIBLOTHEK_H_ //2. #define NAMEVONDEINERBIBLOTHEK_H_ //3.
1.
Wir binden wie gewohnt eine Bibliothek ein (iostream)
2.
Hier wird es interessant
#ifndef ist eine Präprozessordirektive (googeln) und steht für
"if not defined" (zu deutsch falls nicht definiert)
Er schaut ob es die Bibliothek (NAMEVONDEINERBIBLOTHEK_H_)
schon definiert ist um sicher zu sein , dass eine Bibliothek nicht mehrmals eingebunden wird.
Weiter zu Punkt 3.
3.
Bei Punkt drei wird , falls die Bibliothek nocht nicht definiert ist (siehe Punkt 2. ) definiert und erstellt!.
Puuuh die groben "Konturen" unser Bibliothek stehen also schon müssen wir nur noch unsere NAMEVONDEINERBIBLOTHEK_H_
mit Funktionen "füllen"!
Wir schreiben :
Code:
#include < iostream> //1.
#ifndef NAMEVONDEINERBIBLOTHEK_H_ //2.
#define NAMEVONDEINERBIBLOTHEK_H_ //3.
void hallosagen()
{
cout<<"Hallo\n"; //4.
}
#endif //5.
Wir schreiben eine einfache Funktion , die bei der Ausführung Hallo ausgibt.
5.
#endif
Eine weiter Präprozessordirektive die dem Compiler mitteilt , dass hier der Code zu Ende ist !
Demonstration
Um zu demonstrieren , das wir die Funktion hallosagen()
wirklich aus dieser Bibliothek heraus ausführen können hier ein Programm :
Code:
#include <iostream>
#include "NAMEVONDEINERBIBLOTHEK.h"
using namespace std;
int main(void)
{
hallosagen();
return 0 ;
}
Ausgabe :
Hallo
Bei Fragen und Verbesserungsvorschlägen einfach Comment
posten DANKE
Euer Black0ut !







