einführung: linux / objektorientierte programmierung einleitung suse linux (system- und...

22
Einführung: Linux / Objektorientierte Programmierung Einleitung Suse Linux (System- und Software- Entwicklung) Allgemein: - freies und portables Betriebssystem - ursprünglich von Linus Torvalds geschrieben - unter Bedingungen der GNU General Public License veröffentlicht - stark Unix-orientiert

Upload: philipp-gegg

Post on 05-Apr-2015

103 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Einführung: Linux / Objektorientierte Programmierung Einleitung Suse Linux (System- und Software-Entwicklung) Allgemein: - freies und portables Betriebssystem

Einführung: Linux / Objektorientierte Programmierung

Einleitung

Suse Linux (System- und Software-Entwicklung)

Allgemein:- freies und portables Betriebssystem- ursprünglich von Linus Torvalds geschrieben- unter Bedingungen der GNU General Public License veröffentlicht- stark Unix-orientiert

Page 2: Einführung: Linux / Objektorientierte Programmierung Einleitung Suse Linux (System- und Software-Entwicklung) Allgemein: - freies und portables Betriebssystem

Einführung: Linux / Objektorientierte Programmierung

Einleitung

C++

Allgemein:- Basiert auf Programmiersprache C- Erweitert C um Datentypen, Klassen mit Vererbung und virtuellen Funktionen, Inlinefunktionen, u.v.m.

Einige Stärken:- Hocheffiziente Code-Programmierung möglich- Weite Verbreitung- Sowohl maschinennahe als auch hochabstrakte Programmierung ist möglich- Kompatibel mit C

Einige Schwächen:- Die aktuellen Compiler produzieren nicht immer optimalen Code, sowohl in Bezug auf Geschwindigkeit als auch auf Code-Größe.

Page 3: Einführung: Linux / Objektorientierte Programmierung Einleitung Suse Linux (System- und Software-Entwicklung) Allgemein: - freies und portables Betriebssystem

Einführung: Linux / Objektorientierte Programmierung

1. Rechner anschalten

2. Suse Linux 9.1 mit Pfeiltasten auswählen und mit Return starten

3. Einloggen:

- Benutzername: infII<Matrikelnummer mit „0“ am Anfang>

Beispiel für Benutzername: infII0654321

- Passwort: x

- Mit Klick auf „OK“ einloggen

4. Eventuelle Fragen zur Hardware-Konfiguration schließen

5. Willkommensnachricht von Suse schließen

Getting started

Page 4: Einführung: Linux / Objektorientierte Programmierung Einleitung Suse Linux (System- und Software-Entwicklung) Allgemein: - freies und portables Betriebssystem

Einführung: Linux / Objektorientierte Programmierung

KDE

Programmstartleiste

Eigene Dateien (Home-Directory)

Shell

Hilfe

Konqueror (Browser)

Email-Programm (nicht eingerichtet)

Page 5: Einführung: Linux / Objektorientierte Programmierung Einleitung Suse Linux (System- und Software-Entwicklung) Allgemein: - freies und portables Betriebssystem

Einführung: Linux / Objektorientierte Programmierung

Shell

Shell starten:

Passwort ändern:

„passwd“ eingeben, mit Return bestätigenAltes Passwort eingeben („x“)Neues Passwort eingebenNeues Passwort bestätigen

Page 6: Einführung: Linux / Objektorientierte Programmierung Einleitung Suse Linux (System- und Software-Entwicklung) Allgemein: - freies und portables Betriebssystem

Einführung: Linux / Objektorientierte Programmierung

Shell

Arbeitsverzeichnis anzeigen: „pwd“ – Print Working Directory

Pfad des momentanen Verzeichnisses, in diesem Fall Verzeichnis für eigene Dateien (Home Directory)

Page 7: Einführung: Linux / Objektorientierte Programmierung Einleitung Suse Linux (System- und Software-Entwicklung) Allgemein: - freies und portables Betriebssystem

Einführung: Linux / Objektorientierte Programmierung

Shell

Verzeichnis anlegen: „mkdir <Verzeichnisname>“ – Make Directory

Es wird ein neuer Ordner/Verzeichnis (Directory) mit dem Namen „praktikum“ angelegt.

(„md“ ist die Abkürzung unter SUSE für „mkdir“)

Page 8: Einführung: Linux / Objektorientierte Programmierung Einleitung Suse Linux (System- und Software-Entwicklung) Allgemein: - freies und portables Betriebssystem

Einführung: Linux / Objektorientierte Programmierung

Shell

Verzeichnisinhalt anzeigen : „ls“

Anzeige aller Dateien und Verzeichnisse im aktuellen Verzeichnis.

Verzeichnisse erscheinen in blauer Farbe, Dateien in Schwarz

Verzeichnis „praktikum“ wurde im vorherigen Schritt mit „md praktikum“ angelegt.

Page 9: Einführung: Linux / Objektorientierte Programmierung Einleitung Suse Linux (System- und Software-Entwicklung) Allgemein: - freies und portables Betriebssystem

Einführung: Linux / Objektorientierte Programmierung

Shell

In ein Verzeichsnis wechseln : „cd <Verzeichnisname>“ – Change Directory

Mit „cd <Verzeichnisname>“ wird in das Verzeichnis gewechselt.Auch hier ist Groß- und Kleinschreibung zu beachten.„~“ ist das Kürzel für das Home Directory.„~/praktikum“ bedeutet also, dass man sich im Unterordner des Home Directorys namens „praktikum“ befindet.

„cd ..“ wechselt in das nächst höher gelegene Verzeichnis.

Page 10: Einführung: Linux / Objektorientierte Programmierung Einleitung Suse Linux (System- und Software-Entwicklung) Allgemein: - freies und portables Betriebssystem

Einführung: Linux / Objektorientierte Programmierung

Shell

emacs starten : „emacs <Dateiname.cpp> &“

Aufruf des Texteditors emacsDateinameWenn Datei existiert: bearbeitenWenn Datei nicht existiert: neue Datei mit dem Namen anlegen

Groß-/Kleinschreibung!

„&“ bedeutet, dass der vorstehende Befehl ausgeführt wird undnicht auf das Beenden des emacs-Editors gewartet wird.

Page 11: Einführung: Linux / Objektorientierte Programmierung Einleitung Suse Linux (System- und Software-Entwicklung) Allgemein: - freies und portables Betriebssystem

Einführung: Linux / Objektorientierte Programmierung

emacs

Programmieren mit emacs:

„#include <iostream>" fügt eine Headdatei hinzu. Sie enthält z.B. die Funktion „cout“ zur Bildschirmausgabe.

„using namespace std;“ Zu jeder Funktion gehört ein Namensraum. Zu „cout“ gehört „std“.

„cout << „Hallo Welt!“;“ Gibt „Hallo Welt!“ auf dem Bildschirm aus. In C: „printf(“Hallo Welt!“);“

Page 12: Einführung: Linux / Objektorientierte Programmierung Einleitung Suse Linux (System- und Software-Entwicklung) Allgemein: - freies und portables Betriebssystem

Einführung: Linux / Objektorientierte Programmierung

emacs

Programmieren mit emacs:

Nach dem Programmieren wird die Datei mit strg+x strg+s abgespeichert. Am einfachsten: strg-Taste gedrückt halten, dann Tasten „x“ und „s“nacheinander drücken.

Es folgt der Wechsel zum Shell-Fenster, entweder durch Mausklick insShell-Fenster oder durch Tastenkombination „alt+Tab“.

Page 13: Einführung: Linux / Objektorientierte Programmierung Einleitung Suse Linux (System- und Software-Entwicklung) Allgemein: - freies und portables Betriebssystem

Einführung: Linux / Objektorientierte Programmierung

Shell

Datei kompilieren : „g++ -o <Dateiname> <Dateiname.cpp>“

ruft den C++ Compiler auf

erstellt eine ausführbare Datei (hier mit Namen „testprogramm“)

C++-Quellcode, der in ausführbare Datei gewandelt werden soll

Page 14: Einführung: Linux / Objektorientierte Programmierung Einleitung Suse Linux (System- und Software-Entwicklung) Allgemein: - freies und portables Betriebssystem

Einführung: Linux / Objektorientierte Programmierung

Shell

Datei kompilieren : „g++ -o <Dateiname> <Dateiname.cpp>“

Eventuelle Compilerfehler erscheinen mit Angabe der Zeile unterdem Aufruf des G++-Compilers.

Page 15: Einführung: Linux / Objektorientierte Programmierung Einleitung Suse Linux (System- und Software-Entwicklung) Allgemein: - freies und portables Betriebssystem

Einführung: Linux / Objektorientierte Programmierung

Shell

Datei ausführen : „./<Dateiname> “

Ausführbare Datei

Backup-Datei des Quellcodesvon Emacs, erkennbar am „~“

Ausführen der compilierten Datei

Mit „cout“ programmierte Bildschirmausgabe

C++ Quellcode

Page 16: Einführung: Linux / Objektorientierte Programmierung Einleitung Suse Linux (System- und Software-Entwicklung) Allgemein: - freies und portables Betriebssystem

Einführung: Linux / Objektorientierte Programmierung

Shell

Datei löschen : „rm <Dateiname>“ rm - Remove Directory

„rm <Dateiname>“ löscht eine Datei.

Page 17: Einführung: Linux / Objektorientierte Programmierung Einleitung Suse Linux (System- und Software-Entwicklung) Allgemein: - freies und portables Betriebssystem

Einführung: Linux / Objektorientierte Programmierung

Shell

Datei löschen : „rm <Dateiname>“ rm - Remove

Es gibt beim Löschen über die Shell KEINEN Mülleimer!Gelöschte Dateien sind unwiderrufllich weg.

„rm –rf <Verzeichnisname>“Löscht ein Verzeichnis mit gesamtem Inhalt.Das „r“ steht dabei für den gesamten Inhalt„f“ sorgt dafür, dass keine Bestätigungsabfrage zum Löschen erscheint.

„rm prakt*“ löscht alle Dateien die mit „prakt“ beginnen.

Page 18: Einführung: Linux / Objektorientierte Programmierung Einleitung Suse Linux (System- und Software-Entwicklung) Allgemein: - freies und portables Betriebssystem

Einführung: Linux / Objektorientierte Programmierung

Shell

Datei umbennen : „mv <AlterDateiname> <NeuerDateiname>“

Der Befehl „mv“ kann eine Datei umbennen (s.o.) oder verschieben.„mv testprogramm.cpp ~“ hätte die Datei ins Homeverzeichnis verschoben.

Syntax: „mv <Dateiname> Ziel“ Verschieben„mv <AlterDateiname> <NeuerDateiname>“ Umbenennen

Page 19: Einführung: Linux / Objektorientierte Programmierung Einleitung Suse Linux (System- und Software-Entwicklung) Allgemein: - freies und portables Betriebssystem

Einführung: Linux / Objektorientierte Programmierung

Shell

Quellcode per Mail zuschicken: „mail <Emailadresse> < Datei“

Es macht nur Sinn Quellcodes (mit .cpp-Endung) zuzusenden.Mit compilierte Dateien kann man nicht den Quellcode einsehen.Diese laufen nur auf Linux-Rechnern, nicht auf Windows-PCs.

Der Emacs wird mit der Tastenkombination strg+x strg+c beendet.

Page 20: Einführung: Linux / Objektorientierte Programmierung Einleitung Suse Linux (System- und Software-Entwicklung) Allgemein: - freies und portables Betriebssystem

Einführung: Linux / Objektorientierte Programmierung

Shell

Allgemein:

- Vor dem Compilieren: Quelltext abspeichern (strg+x strg+s)- Immer Groß- und Kleinschreibung beachten- Beim Löschen von Dateien ist Vorsicht geboten. Gelöschte Dateien lassen sich nicht wiederherstellen.- Quellcodes an die eigene Emailadresse senden, nicht die compilierten Daten- Keine Datei mit dem Namen „test“ anlegen, test ist ein Linuxbefehl

Page 21: Einführung: Linux / Objektorientierte Programmierung Einleitung Suse Linux (System- und Software-Entwicklung) Allgemein: - freies und portables Betriebssystem

Einführung: Linux / Objektorientierte Programmierung

Shell

essentielle Unix- / Linuxbefehle:ls zeigt den Inhalt des jeweiligen Verzeichnissescd <Verzeichnis> wechselt in ein Verzeichnisrm <Dateiname> löscht die Datei UNWIDERRUFLICHmd <Dateiname> legt ein Verzeichnis anrm -rf <Verzeichnis> löscht ein Verzeichnis UNWIDERRUFLICH./<Dateiname> führt ein Programm auspwd zeigt den Verzeichnispfad an

Wichtige Befehle für Emacs:strg+x strg+s Datei speichernstrg+x strg+c Emacs beenden

Compilen: g++ –o <AusführbareDatei> <Dateiname.cpp>Programme ausführen : ./Dateiname

Page 22: Einführung: Linux / Objektorientierte Programmierung Einleitung Suse Linux (System- und Software-Entwicklung) Allgemein: - freies und portables Betriebssystem

Einführung: Linux / Objektorientierte Programmierung

Ende

Kleine Anmerkung aus einer Email von Dr. Möller:

„Das ist schon eine gute (und sanfte) Einfuehrung. Wir werden das Lerntempo natuerlich exponentiell steigern:-)“

Viel Spaß beim Programmieren.