6 - Systemprogrammierung 1 (SP1) [ID:2486]
50 von 831 angezeigt

Hallo, ja, dann herzlich willkommen heute zur Systemprogrammierung. Wir hatten uns das letzte Mal ja noch

ein ganzes Stück weit mit dem Thema Zeiger beschäftigt. Gut, das Ganze wird uns in dem

Rahmen der Übungen jetzt natürlich intensiv weiter beschäftigen. Es gibt ja im Wesentlichen

ja keine Übungsaufgabe in der Programmiersprache C, die man irgendwie vernünftig ohne das Thema

Zeiger behandeln kann. Ich will heute zum Abschluss von diesem C-Kapitel noch ganz kurz auf so diesen

letzten Abschnitt eingehen, werde da aber ein Stück weit auch drüber fliegen und sehe die Folien

einfach auch zum gewissen Teil einfach auch, damit man ein kompaktes Nachschlagewerk über die Themen

hat und sich das anhand von den Folien noch mal angucken kann. Das Thema heute ist eine Ausgabe

zuerst und dann anschließend will ich mit dem dritten Kapitel weitermachen, wo es dann darum geht,

wie kommt man jetzt eigentlich von so einem C-Programm, das man programmiert hat, zu dem

ablaufenden Programm, also dem Prozess. Also ein paar Worte zur Einausgabe vorneweg. Die

Einausgabefunktionen in der Programmiersprache C sind nicht Bestandteil der Sprache, wie das in

vielen anderen Programmiersprachen eigentlich üblich ist, sondern es sind im Endeffekt einfach

normale Funktionen und diese Funktionen sind Bestandteil in dieser Standardfunktionsbibliothek,

die zusammen mit dem C-Compiler mitgeliefert wird. In dieser Funktionsbibliothek sind eben

solche Sachen wie die Stringfunktion, also Stringcopy, Stringlang, Stringcat und was wir

alles so hier in Beispielen kennengelernt haben, gibt es da drin das QuickSort, das in der Einausgabe

jetzt dann benutzt wird, ist Bestandteil von dieser Funktionsbibliothek. Auch das Merlock

gehört dazu und genauso eben die Einausgabefunktion. Die Schnittstelle ist relativ einfach,

von der Bedienung her ist auch sehr effizient programmiert, es ist portabel und es ist auch

sehr systemnah. Dahinter verbergen sich dann die eigentlichen Systemfunktionen, das sind so Sachen,

wie Read und Write, also Funktionen, mit denen man einfach Byte-Ströme ausgeben kann oder einlesen

kann. Die Funktionen dazu gehört, man kann Dateien, den Namen man kennt öffnen und man kann sie auch

wieder zumachen und man kann dann aus solchen Dateien Zeichen lesen oder schreiben, man kann ganze

Zeilen lesen oder auch beliebig große Datenblöcke und es gibt Funktionen für die Format der

Einausgabe. Wir kennen einige von diesen Funktionen aus den Beispielen jetzt schon und haben die

eigentlich mehr oder weniger selbstverständlich schon verwendet und ist eigentlich auch kein großes

Hexenwerk dahinter. Zu den Rahmenbedingungen muss man noch wissen, jedes Programm, das man laufen

lässt, jedes C-Programm erhält beim Starten automatisch drei Einausgabe-Kanäle, das ist die

Standard-Eingabe, der Standard-Input, der normalerweise mit der Tastatur verbunden ist. Da ist

noch eine Besonderheit, wenn man, also normalerweise liest man ein Programm zum Beispiel mit der

Funktion Get-Character, Get-C oder Get-Car, ja so lange bis man das Ende der Datei erreicht hat,

von der man liest und wenn man das Ende der Datei erreicht hat, dann wird einem sowas wie

Ender Pfeil signalisiert. Die Frage ist natürlich, wenn ich von der Tastatur lese, wann ist die

Tastatur zu Ende? Und da gibt es ein besonderes Zeichen, Control oder Steuerung D. Wenn man das

am Zeilenanfang, ist aber wichtig, dass es also am Anfang der Zeile steht, eingibt, dann wird nicht

etwa dieses Zeichen Control D, das Hexadezimal der Wert 4 wäre, oder numerisch Wert 4 wäre in dieser

internen Kodierung von Charakteren, es wird also nicht dieses Zeichen mit dem Wert 4 an das Programm

geliefert, sondern das Betriebssystem erkennt, ok, da wurde Control D eingegeben und es signalisiert

dann der Read-Funktion, dass jetzt nichts mehr kommt und da wird dann dieses Ender Pfeil draus

gemacht. Das ist also eine spezielle Funktion des Tastatur-Treibers im Betriebssystem, dass

er das eben entsprechend umwandelt. So, man kann beim normalen Programmaufruf und das denke ich

kennen Sie aus der normalen Benutzung vom Unix-System her, Sie können mit dem kleiner Zeichen eben

die Standard-Eingabe umleiten auf irgendeine Datei und dann wird eben nicht von der Tastatur

gelesen, sondern eben aus dieser Datei und wenn das Dateiende erreicht wird, wird eben auch dieses

Ender Pfeil signalisiert. Die Standard-Ausgabe kann man auch umleiten, die ist normalerweise mit dem

Bildschirm oder dem Fenster, in dem man das Programm gestartet hatte, verbunden und mit dem

größer Zeichen, wenn man in der Shell ein Programm startet, kann man mit dem größer Zeichen eben die

Ausgabe in der Datei umleiten. Der Standard-Fehler-Kanal ist getrennt vom Standard-Ausgabe-Kanal,

das ist also der zweite Ausgabe-Kanal, der ist normalerweise ebenfalls mit dem Bildschirm

Teil einer Videoserie :

Zugänglich über

Offener Zugang

Dauer

01:26:42 Min

Aufnahmedatum

2012-11-12

Hochgeladen am

2012-11-26 16:01:16

Sprache

de-DE

Einbetten
Wordpress FAU Plugin
iFrame
Teilen