Technische Infor matik 2 C/C++

Transcription

Technische Infor matik 2 C/C++
Technische Informatik 2
C/C++-Kurs
Arbeitsumgebung
© 2008 AG Rechnernetze
1.1
Arbeitsumgebung
• Editoren (!= Entwicklungsumgebung)
– vi, vim, gvim, Emacs 21, XEmacs
• Compiler / Debugger
– gcc / g++
– gdb
• Satzsystem
– LaTeX (mit [xk]dvi und [kg]?gv)
• Sonstiges
– bash
– make
– Versionskontrolle, Repositories
© 2008 AG Rechnernetze
1.2
VI
– Klassischer Unix-Bildschirm-Editor
– In allen Unix-Versionen enthalten (z. T. als freier „Klon“)
– Keine Unterstützung für Fenstersystem, Maus, Menüs
– Nicht mächtig genug für die anspruchsvollere Aufgaben
– Oft verwendet für Systemadministration → Grundkenntnisse nützlich
• Auf (fast) jedem Rettungssystem enthalten, oft als einziger Editor
© 2008 AG Rechnernetze
1.3
VIM - Vi IMproved
– Abwär tskompatibel zum Standard-Editor vi
– Vollständige Steuerung über Tastatur
– Unterstützung für C/C++
• Zeilen-Indentierung
• Syntaxauszeichnung
– Programmentwicklung
• Compiler-Aufruf: automatischer Sprung zum Fehler
• automatischer Sprung an Variablen/Funktionsdeklarationen
– Erweiterbar (in Vim-Script, Perl und Python)
– Por tabel (läuft auf allen gängigen Plattformen)
– kein Web-Browser, Mail-/Newsreader
• Sondern nur ein Editor
• „The right tool for the right job“ (alte Unix Philosophie)
– Freie Software (Open Source)
© 2008 AG Rechnernetze
1.4
Emacs
– Komplett steuerbar über Tastatur
• Maus wird nicht benötigt, ist aber möglich
– Unterstützung für C++
• Zeilen-Indentierung
• Syntaxauszeichnung
– Programmentwicklung mit Emacs
• Compiler-Aufruf: automatischer Sprung zum Fehler
• Debugger-Steuerung: automatisches Aufsuchen von Source-Files
– Leistungsfähiger Editor
– Herstellerunabhängig, nicht systemspezifisch
– Universell verfügbar
• Späteres Umlernen unnötig
• Freie Software!
© 2008 AG Rechnernetze
1.5
Emacs
– Customizable
• Tastenbelegungen und Maus-Button-Belegungen änderbar
• Parameter setzbar (edit-options, customize)
– Extensible
• Neue Kommandos können in Emacs-Lisp geschrieben werden
– Vollwer tige Programmiersprache
• On-line-Erweiterbarkeit
• Hunder te von Emacs-Erweiterungen
– E-Mail, News
– Web-Browser
– Sprachunterstützung (C, C++, Lisp, LaTeX, Java, TeX, SGML, ...)
– Interaktion mit Programmen (Compiler, Debugger, Inter preter, etc.)
– Emulationen für andere Editoren
© 2008 AG Rechnernetze
1.6
Emacs
• Emacs ist nicht mit einem Vortrag erlernbar
– Menu kann als Nachschlagewerk für Tastenkombinationen dienen
– Flyer mit Tastenkombinationen im Netz
• Die Arbeitsumgebung auf dem Laptop bzw. beim Heimarbeitsplatz
– /usr/local/share/emacs/site-lisp/README
• Empfohlen: Emacs 21.3
– sollte heute überall Standard sein
– überprüfen: emacs --version
© 2008 AG Rechnernetze
1.7
Das GNU-Projekt und die FSF
• Was ist Unfreie Software
– Behinder t Kooperation und Austausch von Ideen
– Zwingt ständig zur Neuerfindung des Rades
• Was ist Freie Software
– Förder t Kooperation unter Programmierern und Benutzern
– Kann frei verwendet werden (auch verkauft!), vorausgesetzt sie bleibt frei
– Erforder t spezielles Copyright, ≠ Public Domain/Freeware!
• Die Free Software Foundation
– Non-Profit-Organisation, entwickelt freie Software
– Gegründet von Richard M. Stallman („rms“)
– GNU: Gnu’s Not Unix
– Komplettes freies, Unix-kompatibles System (Kernel: Linux, Hurd)
– GNU General Public License (GPL) für GNU-Software
© 2008 AG Rechnernetze
1.8
GNU-Software
– GNU Emacs
– GNU Compiler
• C (gcc), C++ (g++); libg++
• GNU Debugger (gdb)
• GNU Binutils (gas, gld)
– Softwaretechnik
• GNU make, RCS
• GNU autoconf
• Bison (Yacc-Ersatz), Flex (Lex-Ersatz)
– Unix-Tools
• GNU grep, awk, sed, diff, tar, Bash
– Textverarbeitung
• Texinfo
• Groff
• GhostScript
© 2008 AG Rechnernetze
1.9
Arbeiten unter Windows
• ti2 bedeutet Systemprogrammierung
– Anwendungsbeispiel und Übungen beziehen sich auf Unix
– Unix und Windows unterscheiden sich massiv in den Systemaufrufen
• Nativ unter Windows arbeiten ist nicht empfehlenswert
– Visual C++ und andere Compiler/Umgebungen können nicht verwendet
werden
– remote auf Unix-Rechner im Fachbereichsnetz arbeiten
– Linux oder MacOS auf dem eigenen Rechner
– vir tuelle Maschine mit Linux-Image auf dem eigenen Rechner
© 2008 AG Rechnernetze
1.10

Documents pareils