|
Dauer: 2-3 Tage
Motivation:
Sie wollen wissen, wie das Linux-System selbst (der Kernel), ein
Hardware-Treiber, die unter Linux verwendeten GNU-Programme oder z.B. der
Web-Server 'Apache', der Datenbank-Server 'MySQL' oder andere Linux-Programme
wie 'xine', 'mplayer,… aus den Quellcode-Dateien übersetzt und installiert
werden? Sie wollen Änderungen am Quellcode eines dieser Programme durchführen?
Sie wollen eigene C/C++-Programme auf einem Linux-System erstellen und
verwalten? Dann ist dieser Kurs genau richtig für Sie!
Ziel:
Mittels vieler Übungen lernen Sie die typischen Programmierwerkzeuge von
Linux zur Versionskontrolle, zur Programm-Erstellung, zum Debuggen, zum
Profilieren und zum Testen kennen, die vor allem im Zusammenhang mit den
klassischen Linux-Programmiersprachen C und C++ verwendet werden.
Im Rahmen dieses Kurses werden die Begriffe binäres Linux-Programme,
Quellcodedatei, Projekt, Objektdatei, statische/dynamische Bibliothek,
Ablauf eines Übersetzungsvorgangs, Revisionsverwaltung, Präprozessor,
Compiler, Linker, Archivierer, Make, Makefile, Profiler, Debugger, …
genau erläutert und die damit jeweils verbundenen Linux-Werkzeuge behandelt.
Sie können anschließend unter Linux selbst oder von anderen entwickelte
C/C++-Quellcodes sowohl auf der Kommandozeile als auch in einer IDE verwalten,
übersetzen, analysieren und debuggen.
Hinweis:
Der Kurs ist auch für andere UNIX-Systeme geeignet!
Inhalt:
- Übersicht und Grundbegriffe:
- Informationsbeschaffung mit 'strings', 'strace/truss', 'size', 'time', 'ldd',
'nm', 'objdump' und 'readelf'
- Änderungsverwaltung mit 'diff' und 'patch'
- Revisionsverwaltung mit 'rcs' (Revision Control System)
- Parallele Programmentwicklung mit 'cvs' (Concurrent Revision System)
- Compilieren mit 'gcc' und 'g++'
- Linken und Archive bauen mit 'ld', 'ar', 'ranlib' und 'strip'
- Programme bauen mit 'make'
- Software automatisch konfigurieren mit 'autoconf' und 'automake'
- Fehlersuche mit 'gdb' und 'ddd'
- Statische Programmanalyse mit 'lint'
- Laufzeitanalyse mit 'gprof' und 'gcov'
- Einblick in die integrierten Entwicklungsumgebungen (IDEs) 'Kdevelop',
'Kdebug', 'Eclipse' und 'Komodo'
Schulungsunterlagen:
- Buch
- Lösungsblätter zu allen Übungen
Voraussetzungen:
- Muss: Allgemeine Computer-Kenntnisse (Tastatur, Maus, Grafische Oberfläche, Editor)
- Muss: Linux/UNIX-Kenntnisse im Rahmen des Kurses "Linux/UNIX-Einführung"
- Muss: Kenntnis einer beliebigen Programmiersprache (vorzugsweise C, C++, Java oder C#)
- Optional: Kenntnis einer Integrierten Entwicklungsumgebung (IDE)
Abgrenzung:
Aufgrund der dafür notwendigen Zeit werden folgende Punkte in diesem Kurs
nicht behandelt, können aber extra gebucht werden:
- Programmierung in C, C++, … an sich
- Compilerbau (lexikalische Analyse mit 'lex/flex' und syntaktische Analyse mit 'yacc/bison')
- Prototypen erstellen (mit 'Tcl/Tk', 'Perl/Tk' oder 'Python')
- Portables Programmieren (Qt, GTK, GTK+, Windows, Linux, MacOS)
- Portierung von Windows-Programmen nach Linux
© 2003-2012 OSTC GmbH — $prog-tools.toc,v 1.2 2006/08/18 18:11:08$
|