Make Make. Manuelle Rekompilation: Automatisier ung erforder t Infor mation Makefile: Konfigurationsdokument. Zuviel rekompilieren: Zeitverschwendung

Größe: px
Ab Seite anzeigen:

Download "Make Make. Manuelle Rekompilation: Automatisier ung erforder t Infor mation Makefile: Konfigurationsdokument. Zuviel rekompilieren: Zeitverschwendung"

Transkript

1 Rekompilation Welche Source-Files müssen mit welcher Option übersetzt werden? Welche Object-Files müssen zu welchen Programmen gelinkt werden? Welche Librar ies in welcher Reihenfolge dazu? Welches besondere Pre-Processing ist für einzelne Files nötig? Nach Änderung: Welche Kommandos sind für ein Rebuild nötig? run-file: Zuviel rekompilieren: Zeitverschwendung Manuelle Rekompilation: Zuwenig rekompilieren: Schwierig zu findende Bugs Falsche Rekompilation: Noch schwieriger zu findende Bugs Automatisier ung erforder t Infor mation file: Konfigurationsdokument 2005 AG Rechner netze 3-make.1

2 Benutzung von Aufr uf: make think edit make test Verfügbarkeit UNIX (seit Version 7, 1978) Auch auf Mainframes PC: Hunderte von -Var iationen Evolution der -Versionen V7 Sys5 SunOS GNU AG Rechner netze 3-make.2

3 GNU- Kompatibel zu allen älteren -Versionen Standard- (IEEE POSIX.2) Solar is: /usr/local/bin/gmake Linux: /usr/bin/make Dokumentation: Info-File (C-h C-i m make RET) Achtung: Man-Page nicht für GNU- man/info gmake man/info make file Enthält Abhängigkeitsregeln: target : dependencies... command AG Rechner netze 3-make.3

4 Basisoperation Herstellung eines Targets Executable, Object-File, etc. Dependencies sind Input Alle Dependencies existieren und sind aktuell Target älter als Dependencies rebuild Kommandos an Shell übergeben Input für file Inhalt des aktuellen Verzeichnisses Eingebaute Regeln 2005 AG Rechner netze 3-make.4

5 files Beispiel-file edit: main.o input.o display.o buf.o g++ -o edit main.o input.o display.o \ buf.o -lx11 main.o: main.cc defs.hh buf.hh g++ -c main.c input.o: input.cc defs.hh g++ -c input.c display.o: display.cc defs.hh buf.hh g++ -c display.cc buf.o: buf.cc buf.hh defs.hh g++ -c buf.c clean: rm edit main.o input.o display.o buf.o core 2005 AG Rechner netze 3-make.5

6 files -Parameter Default-Target: erster Eintrag im file Alter native: make main.o make clean Variablen Definition im file: NAME=value Inder Kommandozeile: NAME=value (overr ide) Benutzung: $(NAME) 2005 AG Rechner netze 3-make.6

7 files Beispiel OBJECTS= main.o input.o buf.o LIBS= -lx11 edit: $(OBJECTS) g++ -o edit $(OBJECTS) $(LIBS) main.o: main.cc defs.hh buf.hh g++ -c main.c input.o: input.cc defs.hh g++ -c input.c buf.o: buf.cc buf.hh defs.hh g++ -c buf.c clean: rm edit $(OBJECTS) core Overr ide beim Aufr uf: make LIBS="-lX11R6" 2005 AG Rechner netze 3-make.7

8 -Aufruf Alternatives file make -f mymakefile Targ et make clean Variablen make LIBS="-lm -lx11" Unbeobachtetes Massen- make -k Testen make -n Parallelausführung make -j make -j AG Rechner netze 3-make.8

9 : Details Syntax Kommentar : # Zeilenfor tsetzung: \<newline> Var iablen-definitionen: Zeilen mit [ˆ:\t] = xyz = x.cc y.cc z.cc OPTIONS = Default-Wer t für Var iablen: Leerstring := statt = kein Rescan bei Benutzung Rules: target [target...] : [:] [dependencies...] [ ;command] [TAB command]... Alle Targets hängen von allen Dependencies ab Shell-style Wildcards:? [ ] 2005 AG Rechner netze 3-make.9

10 : Details Syntax Target.DEFAULT gibt Default-Kommandofolge an für Targets ohne Regeln Phony Target : Target kein Filename.PHONY: clean clean: rm *.o temp core Kommandos Wichtig: Einrücken mit TAB Jedes Kommando wird mit /bin/sh -ce ausgeführ t Alter native: $(SHELL) Making object files AG Rechner netze 3-make.10

11 : Details Fehler (Exit-Code 0) Stop Fehler ignorieren: clean: -rm *.o core Abbruch (Ctrl-C): aktuelles Target wird gelöscht Rekursives make: SUBDIRS= src lib doc test i in $(SUBDIRS); do \ echo Making in $$i...; \ (cd $$i && $(MAKE) $(MAKEFLAGS); \ done Implizite Regeln Schreibarbeit sparen eingebaut oder benutzerdefinier t 2005 AG Rechner netze 3-make.11

12 : Details Implizite Regel zum Übersetzen von.cc-files: file.o wird aus file.cc generier t Aufr uf von g++ file.cc ist Dependency für file.o Ermöglicht kürzeres file: OBJECTS= main.o input.o buf.o LIBS= -lx11 edit: $(OBJECTS) g++ -o edit $(OBJECTS) $(LIBS) main.o: defs.hh buf.hh input.o: defs.hh buf.o: buf.hh defs.hh Alter native Schreibweise: $(OBJECTS): defs.hh main.o buf.o: buf.hh 2005 AG Rechner netze 3-make.12

13 : Details Pattern Rules Eingebaute Regel für file.cc file.o %.o: %.cc $(CXX) $(CXXFLAGS) -c $< -o CXX= g++ CXXFLAGS= Automatische Var iablen in impliziten Regeln: herzustellendes Target $<=Dependency $?= Dependencies jünger als Target $ˆ = alle Dependencies $*= Filenamen-Präfix (dir/file) Overr ide: make CXX=CC CXXFLAGS=-O 2005 AG Rechner netze 3-make.13

14 : Implizite Regeln Selbstdefinier te Patter n-rules: GROFF= FOL= groff -t -mde /home/net/fol/folx PS/%.ps: %.tr $(FOL) < $< $(GROFF) -mgfol - > $@.new mv $@.new $@ Te xtfunktionen $(subst.c,.o,$(wildcard *.c)) $(sort $(wildcard PS/*.ps)) $(word 3, main.c buf.c kbd.c) subdirs= src lib doc allfiles= $(foreach dir,$(subdirs),\ $(wildcard $(dir)/*)) contents= $(shell cat file) 2005 AG Rechner netze 3-make.14

15 : Implizite Regeln Bedingte Ausführung ifeq ($(CXX),g++) LIBS= $(libs_for_g++) else LIBS= $(normal_libs) endif... prog: $(OBJECTS) $(CXX) -o $(OBJECTS) $(LIBS) Substitution references ofiles= main.o kbd.o buf.o cfiles= $(ofiles:%.o=%.cc) 2005 AG Rechner netze 3-make.15

GNU make. Christian Helebrant. OO-Get-Together, 4. September 2006 FLC. C. Helebrant (FLC) GNU make OO-Get-Together,

GNU make. Christian Helebrant. OO-Get-Together, 4. September 2006 FLC. C. Helebrant (FLC) GNU make OO-Get-Together, GNU make Christian Helebrant FLC OO-Get-Together, 4. September 2006 C. Helebrant (FLC) GNU make OO-Get-Together, 04.09.06 1 / 14 Was ist make? make ist ein Computerprogramm, das Shellskript-ähnlich Kommandos

Mehr

Inhalte der Vorlesung. 7.Übersetzungssteuerung mit make. Motivation. 7. Übersetzungssteuerung mit make

Inhalte der Vorlesung. 7.Übersetzungssteuerung mit make. Motivation. 7. Übersetzungssteuerung mit make Inhalte der Vorlesung 7. Übersetzungssteuerung mit make 1.Einführung 2.Lexikalische Analyse 3.Der Textstrom-Editor sed 4.Der Scanner-Generator lex (2 Termine) 5.Syntaxanalyse und der Parser-Generator yacc

Mehr

U1 3. Übung U1 3. Übung. Die Kommandos auf den folgenden Folien dienen der Veranschaulichung. Sind nicht direkt auf die Übungsaufgabe übertragbar

U1 3. Übung U1 3. Übung. Die Kommandos auf den folgenden Folien dienen der Veranschaulichung. Sind nicht direkt auf die Übungsaufgabe übertragbar U1 3. Übung U1 3. Übung Besprechung Aufgabe 0 Make und Makefiles Aufgabe 2 U1-1 Hinweise Die Kommandos auf den folgenden Folien dienen der Veranschaulichung Sind nicht direkt auf die Übungsaufgabe übertragbar

Mehr

GNU Make Kurzreferenz

GNU Make Kurzreferenz GNU Make Kurzreferenz Copyright c Ralf Hoppe 23. Februar 2005 1 Aufruf Der Make-Aufruf sieht wiefolgt aus: make [options] [VAR1=val1 VAR2=val2... ] goal. Die wichtigsten Optionen (options) sind dabei:

Mehr

Ein-Ausgabefunktionen in C (letzter Abschnitt Vorlesungsstoff ab C.110)

Ein-Ausgabefunktionen in C (letzter Abschnitt Vorlesungsstoff ab C.110) U2 2. Übung U2 2. Übung U2-1 Überblick Ein-Ausgabefunktionen in C (letzter Abschnitt Vorlesungsstoff ab C.110) Aufgabe 2: qsort Debugger Übersetzen von Projekten mit "make" U2.1 B-2 Aufgabe 2: Sortieren

Mehr

Grundlagen der Informatik Vorlesungsskript

Grundlagen der Informatik Vorlesungsskript Grundlagen der Informatik Vorlesungsskript Prof. Dr. T. Gervens, Prof. Dr.-Ing. B. Lang, Prof. Dr. F.M. Thiesing, Prof. Dr.-Ing. C. Westerkamp 16 AUTOMATISCHES ÜBERSETZEN VON PROGRAMMEN MIT MAKE... 2 16.1

Mehr

Programm in Source-Files aufteilen Erhöht Lesbarkeit Aufteilung orientier t sich an logischer Struktur des Programms Getrenntes Übersetzen möglich:

Programm in Source-Files aufteilen Erhöht Lesbarkeit Aufteilung orientier t sich an logischer Struktur des Programms Getrenntes Übersetzen möglich: Source-Files Programm == Source-File nicht sinnvoll Unübersichtlich Bei jeder kleinen Änderung gesamtes File neu übersetzen Übersetzen dauert lange Keine Gruppenarbeit möglich Programm in Source-Files

Mehr

Shell. Oder Konsole suchen im Application Finder. Auch Terminal, Bash oder Kommandozeile genannt. Bash nimmt Befehle entgegen und führt diese aus

Shell. Oder Konsole suchen im Application Finder. Auch Terminal, Bash oder Kommandozeile genannt. Bash nimmt Befehle entgegen und führt diese aus LUKAS LEIPOLD Shell Shell Oder Konsole suchen im Application Finder Auch Terminal, Bash oder Kommandozeile genannt Bash nimmt Befehle entgegen und führt diese aus Befehle I cd mkdir pwd rm mv cp ls ln

Mehr

Mapra: C++ Teil 3. Felix Gruber. 29. April IGPM, RWTH Aachen. Felix Gruber (IGPM, RWTH Aachen) Mapra: C++ Teil 3 29.

Mapra: C++ Teil 3. Felix Gruber. 29. April IGPM, RWTH Aachen. Felix Gruber (IGPM, RWTH Aachen) Mapra: C++ Teil 3 29. Mapra: C++ Teil 3 Felix Gruber IGPM, RWTH Aachen 29. April 2015 Felix Gruber (IGPM, RWTH Aachen) Mapra: C++ Teil 3 29. April 2015 1 / 11 Themen vom letzten Mal Debuggen mit gdb Zusammengesetzte Datentypen

Mehr

Eine C-orientierte Einführung in GNU make Version 0.8. Matthias Siemering Universität Osnabrück 27. Oktober 2003

Eine C-orientierte Einführung in GNU make Version 0.8. Matthias Siemering Universität Osnabrück 27. Oktober 2003 Eine C-orientierte Einführung in GNU make Version 0.8 Matthias Siemering Universität Osnabrück 27. Oktober 2003 1 Make it so! - Jean-Luc Picard, Cpt. Dieses Dokument soll eine kurze und damit keineswegs

Mehr

Computer & GNU/Linux Einführung Teil 4

Computer & GNU/Linux Einführung Teil 4 Inst. für Informatik [IFI] Computer & GNU/Linux EinführungTeil 4 Simon Haller, Sebastian Stab 1/20 Computer & GNU/Linux Einführung Teil 4 Simon Haller, Sebastian Stabinger, Benjamin Winder Inst. für Informatik

Mehr

Vorbemerkung. Allgemeines zu Shell Scripts. Aufruf. Einfaches Beispiel

Vorbemerkung. Allgemeines zu Shell Scripts. Aufruf. Einfaches Beispiel Inhalt: Vorbemerkung...1 Allgemeines zu Shell Scripts...1 Aufruf...1 Einfaches Beispiel...1 Testen eines Shell-Scripts...2 Kommandozeilen-Parameter...2 Prozeßsteuerung...3 Bedingte Ausführung: if...3 Mehrfachentscheidung:

Mehr

Bedienungshinweise für XEmacs, make und GNU Debugger

Bedienungshinweise für XEmacs, make und GNU Debugger Bedienungshinweise für XEmacs, make und GNU Debugger Labor Rechnerorganisation Berufsakademie Stuttgart Fachrichtung Nachrichtentechnik 2000 2007 Ingo Phleps Stand 1. Februar 2007 http://home.ntz.de/phleps/programming/werkzeuge.pdf

Mehr

Quelle: (aber dort nicht mehr verfügbar)

Quelle:  (aber dort nicht mehr verfügbar) Programm-Verwaltung mit make 1 von 1 Einführung in Make Quelle: http://www.comnets.rwth-aachen.de/doc/einmanual/shortintro_toc.html#sec47 (aber dort nicht mehr verfügbar) Programm-Verwaltung mit make Autor

Mehr

UNIX/Linux Lösung. Mär 18, 18 15:34 Seite 1/6

UNIX/Linux Lösung. Mär 18, 18 15:34 Seite 1/6 Mär 18, 18 15:34 Seite 1/6 Aufgabe 1: Erläutern Sie detailliert das nachfolgende Kommando (Einzelbefehle, Optionen, Zusammenspiel) (20 Punkte): cd /usr cd bin Wechsel ins /usr (absolut), dann von dort

Mehr

Softwarepraktikum: Einführung in Makefiles

Softwarepraktikum: Einführung in Makefiles Softwarepraktikum: Einführung in Makefiles (Eingebettete Systeme und Robotik),, http://ai3.inf.uni-bayreuth.de /home/db_lehre/praktika/softwarepraktikum/vorbesprechung_und_einfuehrung/vortraege/makefile_tuto

Mehr

UNIX/Linux Lösung. Mär 08, 16 16:11 Seite 1/6

UNIX/Linux Lösung. Mär 08, 16 16:11 Seite 1/6 Mär 08, 16 16:11 Seite 1/6 Aufgabe 1: Erläutern Sie detailliert das nachfolgende Kommando (Einzelbefehle, Optionen, Zusammenspiel) (20 Punkte): cd /usr/bin Wechsel ins Verzeichnis bin in /usr (2) ls d

Mehr

login: password: exit logout Strg+Alt+Backspace passwd passwd $ passwd Changing password for user (current) UNIX password: New UNIX password: Retype new UNIX password: passwd: all authentication tokens

Mehr

Revision Control System. Versionskontrolle

Revision Control System. Versionskontrolle Versionskontrolle Software-Versionen Was habe ich geändert? Alles Quatsch, alles zurück... Wie fixe ich den Bug in Version 1.0 im Feld? Wie integriere ich den gerade eingetroffenen Bugfix für Version 3.6

Mehr

Crashkurs Kommandozeile

Crashkurs Kommandozeile Crashkurs Kommandozeile Thomas Werner This work is licensed under the Creative Commons Attribution ShareAlike 2.0 License. To view a copy of this license, visit http://creativecommons.org/licenses/by sa/2.0/de/

Mehr

Shell-Scripting Linux-Kurs der Unix-AG

Shell-Scripting Linux-Kurs der Unix-AG Shell-Scripting Linux-Kurs der Unix-AG Benjamin Eberle 1. Februar 2016 Was ist ein Shell-Script? Aneinanderreihung von Befehlen, die ausgeführt werden Bedingte und wiederholende Ausführung möglich Nützlich

Mehr

Shell-Scripting Linux-Kurs der Unix-AG

Shell-Scripting Linux-Kurs der Unix-AG Shell-Scripting Linux-Kurs der Unix-AG Andreas Teuchert 8. Juli 2014 Was ist ein Shell-Script? Aneinanderreihung von Befehlen, die ausgeführt werden Bedingte und wiederholende Ausführung möglich Nützlich

Mehr

Korn-Shell: Einführung in Shellscripte 1. Übersicht: Einführung 2. Die Kornshell im Detail 3.Grundlagen der Programmierung

Korn-Shell: Einführung in Shellscripte 1. Übersicht: Einführung 2. Die Kornshell im Detail 3.Grundlagen der Programmierung 1. Übersicht: Einführung 2. Die Kornshell im Detail 3.Grundlagen der Programmierung 1. Übersicht und Einführung 1.1 Die Shell allgemein 1.2 Die korn-shell 1.3 Der Weg zum ersten Skript 1.4 Nutzen und Grenzen

Mehr

Bash-Skripting Linux-Kurs der Unix-AG

Bash-Skripting Linux-Kurs der Unix-AG Bash-Skripting Linux-Kurs der Unix-AG Sebastian Weber 13.06.2012 Was ist ein Bash-Skript? Skript muss mit chmod +x ausführbar gemacht sein Aneinanderreihung von Befehlen normale Befehle nutzbar Sebastian

Mehr

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 8 Das Konfigurationswerkzeug make...8-2 8.1 Modularisierung...8-2 8.2 Modulübersetzung...8-4 8.3 Konfigurationswerkzeug make und Aufbau eines Makefiles...8-8 8.3.1 Abhängigkeiten und Kommandos...

Mehr

Merkblatt System-C Installation Linux

Merkblatt System-C Installation Linux 1. Herunterladen: SystemC unter www.accellera.org Downloads Accellerra Standards 2. Kommandozeile öffnen SystemC (Core Language including Examples & TLM, AMS, ) Core SystemC Language and Examples akzeptieren

Mehr

Verkettete Listen & Makefiles

Verkettete Listen & Makefiles Verkettete Listen & Makefiles Sie wissen, was Listen sind Sie können Einfüge und Lösch Operationen auf der Liste implementieren Sie wissen, wie man durch eine Liste iteriert Sie verstehen den Zweck von

Mehr

Unix-Grundkurs 1. Thema heute: Shell-Skripten

Unix-Grundkurs 1. Thema heute: Shell-Skripten Unix-Grundkurs 1 Thema heute: Unix-Grundkurs 2 Ein Shell-Skript ist die Zusammenfassung von Kommandos in einer Textdatei. Diese Textdatei wird wie ein ablaufbares Programm behandelt. Es werden von einer

Mehr

4 PROGRAMMSTRUKTUR - WERKZEUGE

4 PROGRAMMSTRUKTUR - WERKZEUGE 4 PROGRAMMSTRUKTUR - WERKZEUGE Leitideen: Getrenntes Übersetzen und nachfolgendes Linken wird meistens mit Hilfe von Werkzeugen (z.b. make) durchgeführt. Bei Änderungen werden nicht alle Dateien neu übersetzt

Mehr

Bash-Scripting Linux-Kurs der Unix-AG

Bash-Scripting Linux-Kurs der Unix-AG Bash-Scripting Linux-Kurs der Unix-AG Zinching Dang 02. Juli 2013 Was ist ein Bash-Script? Aneinanderreihung von Befehlen, die ausgeführt werden Bedingte und wiederholende Ausführung möglich Nützlich bei

Mehr

Benutzung der Manpage, Shell Teil 3

Benutzung der Manpage, Shell Teil 3 Benutzung der Manpage, Shell Teil 3 Linux-Kurs der Unix-AG Andreas Teuchert 3./9. Mai 2012 Manpages Dokumentation zu Programmen, speziellen Dateien, etc. steht in Manpages Aufruf mit man Manpage

Mehr

Arbeiten in der Unix-Kommandozeile

Arbeiten in der Unix-Kommandozeile Arbeiten in der Unix-Kommandozeile PeP et al. Toolbox Workshop PeP et al. e.v. Physikstudierende und ehemalige Physikstudierende der TU Dortmund 2016 [ismo@it ~]$ _ Was ist das? Muss das sein? Ist das

Mehr

Literatur. Einführung in Unix. Login. Passwort. Mag. Thomas Griesmayer. Benutzererkennung und Passwort Case-Sensitiv Prompt

Literatur. Einführung in Unix. Login. Passwort. Mag. Thomas Griesmayer. Benutzererkennung und Passwort Case-Sensitiv Prompt Literatur Einführung in Unix Introduction to Unix Martin Weissenböck: Linux, 2000, 2. Auflage, Adim Bodo Bauer: SuSE Linux 6.2, Installation, Konfiguration und erste Schritte, 1999, 15. Auflage, SuSE Verlag.

Mehr

Einführung Unix Shell

Einführung Unix Shell Einführung Unix Shell Prof. Dr. Rüdiger Weis Beuth Hochschule Berlin Wintersemester 2012/2013 Prof. Dr. Rüdiger Weis Einführung Unix Shell Beuth Hochschule Berlin 1 Datei Komandos 2 Wildcards 3 Variablen

Mehr

Linux und Shell-Programmierung Teil 5

Linux und Shell-Programmierung Teil 5 Prof. Dr. Christian Baun Linux und Shell-Programmierung Teil 5 Fachhochschule Frankfurt am Main WS1314 1/44 Linux und Shell-Programmierung Teil 5 Prof. Dr. Christian Baun Fachhochschule Frankfurt am Main

Mehr

Software-Entwicklung mit make Praktikum Software-Technik Dipl.-Ing. T. Frund Juni 1998

Software-Entwicklung mit make Praktikum Software-Technik Dipl.-Ing. T. Frund Juni 1998 Software-Entwicklung mit make Praktikum Software-Technik Dipl.-Ing. T. Frund Email: fruend@et.fh-osnabrueck.de 23. Juni 1998 Was leistet make 1 Was leistet make Das Programm make erleichert die Entwicklung

Mehr

Übungen zu Softwaresysteme I Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2004 D-Uebung2.fm

Übungen zu Softwaresysteme I Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2004 D-Uebung2.fm D 2. Übung D 2. Übung D-1 Überblick Übersetzen von Projekten mit "make" Aufgabe 2: qsort Versionverwaltung mit RCS D.1 Problem: Es gibt Dateien, die aus anderen Dateien generiert werden. Zum Beispiel kann

Mehr

Arbeiten in der Unix-Kommandozeile

Arbeiten in der Unix-Kommandozeile Arbeiten in der Unix-Kommandozeile PeP et al. Toolbox Workshop PeP et al. e.v. Physikstudierende und ehemalige Physikstudierende der TU Dortmund 2017 [ismo@it ~]$ _ Was ist das? Muss das sein? Ist das

Mehr

Linux Prinzipien und Programmierung

Linux Prinzipien und Programmierung Linux Prinzipien und Programmierung Dr. Klaus Höppner Hochschule Darmstadt Sommersemester 2014 1 / 25 2 / 25 Pipes Die Bash kennt drei Standard-Dateideskriptoren: Standard In (stdin) Standard-Eingabe,

Mehr

Hochschule Für Angewandte Wissenschaften FH München Sommersemester Thomas Kolarz. Folie 1.

Hochschule Für Angewandte Wissenschaften FH München Sommersemester Thomas Kolarz. Folie 1. Praktikum Btib Betriebssysteme t I Hochschule Für Angewandte Wissenschaften FH München Sommersemester 2010 thomas.kolarz@hm.edu Folie 1 Vorbereitung Booten Sie den Rechner unter Linux und melden Sie sich

Mehr

Dateisystem 2, RegEx, Manpages

Dateisystem 2, RegEx, Manpages Dateisystem 2, RegEx, Manpages Linux-Kurs der Unix-AG Andreas Teuchert 10. Dezember 2012 Manpages Dokumentation zu Programmen, speziellen Dateien, etc. steht in Manpages Aufruf mit man Manpage

Mehr

Nuetzlicher Kleinkram

Nuetzlicher Kleinkram Ein paar Hilfestellungen zur Arbeit unter Linux/Unix FB Physik Freie Universität Berlin Computerphysik WS 2007/2008 1 2 3 user@ host :~ > gcc -o programm quelltext. c macht gleich mehrere Dinge auf einmal

Mehr

Okt 10, 16 17:29 UNIX/Linux Lösung

Okt 10, 16 17:29 UNIX/Linux Lösung Okt 10, 16 17:29 UNIX/Linux Lösung Seite 1/6 Technische Hochschule Nürnberg Name:... GEORG SIMON OHM Schriftliche Prüfung im Fach Vorname:... "Betriebssystem UNIX/Linux" Matrikel Nr.:... Prüfungstermin:

Mehr

Unix Grundlagen. - ii - Ambit Professional Seminar Series. Autor: Prof. J. Anton Illik Diplom-Informatiker

Unix Grundlagen. - ii - Ambit Professional Seminar Series. Autor: Prof. J. Anton Illik Diplom-Informatiker Ambit Professional Seminar Series Unix Grundlagen Autor: Prof. J. Anton Illik Diplom-Informatiker unter Mitarbeit von I. Gelrich C. Keefer P. Ott K. Rothemund C. Ruane S. Sahin K-H. Schmidt Ambit Informatik

Mehr

Korn-Shell: Einführung in Shellscripte 1. Übersicht: Einführung - 2. Die Kornshell im Detail - 3.Grundlagen der Programmierung

Korn-Shell: Einführung in Shellscripte 1. Übersicht: Einführung - 2. Die Kornshell im Detail - 3.Grundlagen der Programmierung 1. Übersicht: Einführung - 2. Die Kornshell im Detail - 3.Grundlagen der Programmierung 1. Übersicht und Einführung 1.1 Die Shell allgemein 1.2 Die korn-shell 1.3 Der Weg zum ersten Skript 1.4 Nutzen und

Mehr

Exkurs: Unix Programme

Exkurs: Unix Programme Exkurs: Unix Programme BASIEREND AUF FOLIEN VON Dr. Stefan Rapp (inspiriert von Ken Church s Vorlesung: Unix for poets ) Gertrud Faaβ Universität StuUgart, InsWtut für maschinelle Sprachverarbeitung Azenbergstr.

Mehr

Technische Infor matik 2 C/C++-Kurs. Arbeitsumgebung. 2008 AG Rechner netze 1.1

Technische Infor matik 2 C/C++-Kurs. Arbeitsumgebung. 2008 AG Rechner netze 1.1 Technische Infor matik 2 C/C++-Kurs Arbeitsumgebung 2008 AG Rechner netze 1.1 Arbeitsumg ebung Editoren (!= Entwicklungsumg ebung) vi, vim, gvim, Emacs 21, XEmacs Compiler / Debugger gcc / g++ gdb Satzsystem

Mehr

Compiler Präprozessor Header Files

Compiler Präprozessor Header Files Freitagsrunde C-Kurs 2013 Compiler Präprozessor Header Files Tutorium 3 This work is licensed under a Creative Commons Attribution NonCommercial ShareAlike 3.0 License Gliederung Compiler Präprozessor

Mehr

Compilieren und Linken von C- und C++-Dateien

Compilieren und Linken von C- und C++-Dateien Compilieren und Linken von C- und C++-Dateien 1999-2011 Dipl.Phys. Gerald Kempfer Lehrbeauftragter / Gastdozent an der Beuth Hochschule für Technik-Berlin Internet: public.beuth-hochschule.de/~kempfer

Mehr

Toolbox Workshop 2013

Toolbox Workshop 2013 Toolbox Workshop 2013 Igor Babuschkin Kevin Dungs Ismo Toijala 2. Oktober 2013 www.pep-dortmund.org Absolventen, Studierende, Mitarbeiter, Freunde und Förderer der Fakultät Physik Mission: Netzwerk aufbauen

Mehr

Bash-Skripting Linux-Kurs der Unix-AG

Bash-Skripting Linux-Kurs der Unix-AG Bash-Skripting Linux-Kurs der Unix-AG Sebastian Weber 07.01.2013 Was ist ein Bash-Skript? Skript muss mit chmod +x ausführbar gemacht sein Aneinanderreihung von Befehlen normale Befehle nutzbar Sebastian

Mehr

Entwicklung mit mehreren Dateien

Entwicklung mit mehreren Dateien Frühjahrsemester 2011 CS104 Programmieren II Teil II: C++ Programmierung Kapitel 9: Entwicklungsprozess in C++ H. Schuldt Entwicklung mit mehreren Dateien In C++ ist es üblich, den Quelltext in mehreren

Mehr

Installationsanleitung

Installationsanleitung 1. C Installationsanleitung C-Programmierung mit Hilfe von Eclipse unter Windows XP mit dem GNU C-Compiler (GCC) 2. Inhaltsverzeichnis 1. Einleitung... 3 2. Cygwin... 3 2.1 Cygwin-Installation... 3 2.2

Mehr

Praxisorientierte Einführung in C++ Lektion: "Die Compiler-Chain (Vom Quellcode zum ausführbaren Programm)"

Praxisorientierte Einführung in C++ Lektion: Die Compiler-Chain (Vom Quellcode zum ausführbaren Programm) Praxisorientierte Einführung in C++ Lektion: "Die -Chain (Vom zum ausführbaren Programm)" Christof Elbrechter Neuroinformatics Group, CITEC April 19, 2012 Christof Elbrechter Praxisorientierte Einführung

Mehr

L A T E X automatisieren

L A T E X automatisieren L A T E X im Studium L A T E X automatisieren Jörn Clausen joern@techfak.uni-bielefeld.de 1 Übersicht kurze Wiederholung Aufruf von LAT E X und Freunden durch make 2 ein Lebenslauf typische Verarbeitungsschritte:

Mehr

Einführung in die Kommandozeile

Einführung in die Kommandozeile Einführung in die Kommandozeile...oder auch: Hier hat alles angefangen. Tom Priebe Freitagsrunde Technische Universität Berlin 28. Oktober 2011 Inhalt 1 Einführung Über die Kommandozeile Grundbefehle Parameter

Mehr

Desktop ade: Me and my shell

Desktop ade: Me and my shell Ein Shelldiskurs Desktop ade: Me and my shell Erkan Yanar erkmerk@gmx.de casus belli Warum auf einem Linuxtag mit Schwerpunkt Desktop? Beherrschung der Shell := freie Wahl des Desktops Beherrschung der

Mehr

Informatik II Übung 1

Informatik II Übung 1 Informatik II Übung 1 Gruppe 2 Carina Fuss cfuss@student.ethz.ch 28.2.2018 Carina Fuss 28.2.2017 1 Administratives ab nächstem Mal: Beginn um 13:00! Fragen aus der Vorlesung, Praktisches, Nachbesprechung

Mehr

Jörg Schilling Portable Build-Systeme. Fokus Fraunhofer

Jörg Schilling Portable Build-Systeme. Fokus Fraunhofer Jörg Schilling Portable Build-Systeme Fokus Fraunhofer Was ist der Inhalt dieses Vortrags? Ein Überblick über die Voraussetzungen Die historische Entwicklung von Build Systemen Eine Übersicht über gängige

Mehr

Das CIP der Mathematik

Das CIP der Mathematik Das CIP der Mathematik Eine sehr kurze Unix Einführung Werner Bley (nach Martin Kerscher) Mathematisches Institut Ludwig Maximilians Universität München 15. Oktober 2015 Gliederung Erste Schritte am Rechner

Mehr

Linux Prinzipien und Programmierung

Linux Prinzipien und Programmierung Linux Prinzipien und Programmierung Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2011/2012 1 / 22 popen Programmentwicklung unter Linux make gcc, objdump, readelf 2 / 22 Die Funktion popen Im

Mehr

Organisatorisches. Übungsleiter: Karsten Otto Homepage: Aufgaben

Organisatorisches. Übungsleiter: Karsten Otto Homepage:  Aufgaben Organisatorisches Übungsleiter: Karsten Otto (otto@inf.fu-berlin.de) Homepage: http://www.inf.fu-berlin.de/lehre/ss04/sysi/ Aufgaben Montags im Netz Vorbesprechung Dienstag/Mittwoch in den Übungen Abgabe

Mehr

Software Engineering. 13. Configuration Management. Franz-Josef Elmer, Universität Basel, HS 2012

Software Engineering. 13. Configuration Management. Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering 13. Configuration Management Franz-Josef Elmer, Universität Basel, HS 2012 Software Engineering: 13. Configuration Management 2 Übersicht Dokumentation, Installationssoftware, etc.

Mehr

Shell-Scripting Linux-Kurs der Unix-AG

Shell-Scripting Linux-Kurs der Unix-AG Shell-Scripting Linux-Kurs der Unix-AG Benjamin Eberle 6. Juli 2016 Was ist ein Shell-Script? Aneinanderreihung von Befehlen, die ausgeführt werden Bedingte und wiederholende Ausführung möglich Nützlich

Mehr

Software Engineering. 14. Build und Deployment. Franz-Josef Elmer, Universität Basel, WS 2006/07

Software Engineering. 14. Build und Deployment. Franz-Josef Elmer, Universität Basel, WS 2006/07 Software Engineering 14. Build und Deployment Franz-Josef Elmer, Universität Basel, WS 2006/07 Software Engineering: 14. Build und Deployment 2 Übersicht Dokumentation, Installationssoftware, etc. Source

Mehr

Einführung in UNIX Übung aus Systemprogrammierung & Systemnahme Programmierung. Wilfried Elmenreich

Einführung in UNIX Übung aus Systemprogrammierung & Systemnahme Programmierung. Wilfried Elmenreich Einführung in UNIX Übung aus Systemprogrammierung & Systemnahme Programmierung Wilfried Elmenreich Überblick Passwörter Shell Prozesse Wildcards Einige Shell Kommandos Programmentwicklung Batchprogramme

Mehr

UNIX/Linux Lösung. Mär 14, 17 20:40 Seite 1/6. Prozeßsynchronisation (was ist das?, wo kommt es vor?, Beispiel?):

UNIX/Linux Lösung. Mär 14, 17 20:40 Seite 1/6. Prozeßsynchronisation (was ist das?, wo kommt es vor?, Beispiel?): Mär 14, 17 20:40 Seite 1/6 Aufgabe 1: Erklären Sie folgende Begriffe (25 Punkte): Prozeßsynchronisation (was ist das?, wo kommt es vor?, Beispiel?): Abstimmen von mehreren Prozessen, warten auf Ergebnisse,

Mehr

L A T E X automatisieren

L A T E X automatisieren L A T E X im Studium L A T E X automatisieren Jörn Clausen joern@techfak.uni-bielefeld.de Übersicht kurze Wiederholung Aufruf von L A T E X und Freunden durch make LAT E X im Studium LAT E X automatisieren

Mehr

Praktikumstermin B-07: make & Makefiles

Praktikumstermin B-07: make & Makefiles Praktikumstermin B-07: make & Makefiles Version 2014-11-26: Problem mit dem Löschbefehl gelöst. Ursache: Auf den Terminalrechnern funkt ein Softwarepaket aus einer anderen Lehrveranstaltung dazwischen

Mehr

UNIX Die wichtigsten Befehle

UNIX Die wichtigsten Befehle UNIX Die wichtigsten Befehle Syntax alias shortname command at zeit [Tag] [Datei] cron cat [-nsuv] [datei] passwd [ben_name] finger user fg, bg job set [-ekntuvx] [name] sort [-bcdfimnurt] [+pos1 pos2]

Mehr

Python 3.6. Erste Schritte auf dem Mac. Syshack. 22. Juni 2017 Version 2.0. Python Erste Schritte auf dem Mac Syshack, 22.

Python 3.6. Erste Schritte auf dem Mac. Syshack. 22. Juni 2017 Version 2.0. Python Erste Schritte auf dem Mac Syshack, 22. Python 3.6 Erste Schritte auf dem Mac Syshack 22. Juni 2017 Version 2.0 Seite 1 / 12 1 Installation Für die Installation von Python muss man das Installationspaket für Mac OS X von der Python Projekt Webseite

Mehr

Sep 25, 18 8:36 UNIX/Linux Lösung

Sep 25, 18 8:36 UNIX/Linux Lösung Sep 25, 18 8:36 UNIX/Linux Lösung Seite 1/6 Technische Hochschule Nürnberg Name:... GEORG SIMON OHM Schriftliche Prüfung im Fach Vorname:... "Betriebssystem UNIX/Linux" Matrikel Nr.:... Prüfungstermin:

Mehr

Shell-Scripting Linux-Kurs der Unix-AG

Shell-Scripting Linux-Kurs der Unix-AG Shell-Scripting Linux-Kurs der Unix-AG Andreas Teuchert 31. Januar 2014 Was ist ein Shell-Script? Aneinanderreihung von Befehlen, die ausgeführt werden Bedingte und wiederholende Ausführung möglich Nützlich

Mehr

GNU Make. Michael Niedermair. DANTE e. V. Herbs agung am an der Hochschule Esslingen (Revision: 340)

GNU Make. Michael Niedermair. DANTE e. V. Herbs agung am an der Hochschule Esslingen (Revision: 340) 1 titel* GNU Make : Bilder DANTE e. V. Herbs agung am 12.09.2009 an der Hochschule Esslingen 2009-09-10 (Revision: 340) makedef* Was ist make : Bilder Programm,das Abhängigkeiten verwaltet, tex 1 dvi 2

Mehr

Anwenderseminar. Das Programmierwerkzeug make

Anwenderseminar. Das Programmierwerkzeug make Anwenderseminar Das Programmierwerkzeug make Günter Egerer JSC g.egerer@fz-juelich.de c 2004-2013 Forschungszentrum Jülich make ist ein für die Programmentwicklung außerordentlich hilfreiches Unix-Programm.

Mehr

SelfLinux Dateien unter Linux

SelfLinux Dateien unter Linux Dateien unter Linux Autor: Frank Boerner (frank@frank-boerner.de) Formatierung: Matthias Hagedorn (matthias.hagedorn@selflinux.org) Lizenz: GFDL Im Unterschied zu Windows wird bei Linux zwischen Groß-

Mehr

ZWEITE ÜBUNG ZUR EINFÜHRUNG IN DIE PROGRAMMIERUNG FÜR COMPUTERLINGUISTEN LEONIE WEIßWEILER

ZWEITE ÜBUNG ZUR EINFÜHRUNG IN DIE PROGRAMMIERUNG FÜR COMPUTERLINGUISTEN LEONIE WEIßWEILER ZWEITE ÜBUNG ZUR EINFÜHRUNG IN DIE PROGRAMMIERUNG FÜR COMPUTERLINGUISTEN ABSTIMMEN! https://abstimmung.semesterticket-muenchen.de/ WIEDERHOLUNG - VARIABLEN WIEDERHOLUNG - VARIABLEN Clemens = Simone Simone

Mehr

Makropaket changes. Knut Lickert. 14. Juni 2005

Makropaket changes. Knut Lickert. 14. Juni 2005 Makropaket changes Knut Lickert 14. Juni 2005 Zusammenfassung Dieses Makropaket stellt das Kommando change zur Verfügung. Mit diesem Kommando können Änderungen in einem Dokument gekennzeichnet werden.

Mehr

Allgemeines. Shell Programmierung Unix. Kommentar. Vorgangsweise. Mag. Thomas Griesmayer

Allgemeines. Shell Programmierung Unix. Kommentar. Vorgangsweise. Mag. Thomas Griesmayer Allgemeines Shell Programmierung Unix Shell Scripts Unix Ein shell script ist eine Textdatei, welche eine Liste von Befehlen (Standard Unix Befehle) beinhaltet. Diese Datei kann durch Aufrufen ausgeführt

Mehr

Zugang zu LISP. Franz Inc. Allegro Lisp Version 7.0 ist im Linux Pool installiert.

Zugang zu LISP. Franz Inc. Allegro Lisp Version 7.0 ist im Linux Pool installiert. Zugang zu LISP Franz Inc. Allegro Lisp Version 7.0 ist im Linux Pool installiert. 1. Möglichkeit: Benutzung in der Shell: 1) Aufruf mit älisp xy@wsl05:~$ alisp International Allegro CL Enterprise Edition

Mehr

Betriebssysteme I WS 2016/17. Prof. Dr. Dirk Müller. 3 Shell-Grundlagen

Betriebssysteme I WS 2016/17. Prof. Dr. Dirk Müller. 3 Shell-Grundlagen Betriebssysteme I 3 Shell-Grundlagen WS 2016/17 Prof. Dr. Dirk Müller Dirk Müller: Betriebssysteme I WS 2016/17 2/18 Praktische Tipps Überblick Kommandoaufruf Bereitschaftszeichen (Prompt) Name, Option(-en),

Mehr

GNU/Linux Introduction Part 3. Simon M. Haller, Sebastian Stabinger iis.uibk.ac.at

GNU/Linux Introduction Part 3. Simon M. Haller, Sebastian Stabinger iis.uibk.ac.at GNU/Linux Introduction Part 3 Simon M. Haller, Sebastian Stabinger iis.uibk.ac.at Elementares Pipes (Weiterleitungen) Die Shell kann die Ausgabe eines Kommandos als Eingabe für ein weiteres verwenden.

Mehr

Dokumentations-Richtlinien

Dokumentations-Richtlinien Prof. Dr. Reinhold Kröger Sven Bauer Stand 15.3.2004 Fachhochschule Wiesbaden Fachbereich Informatik Inhaltsverzeichnis 1 Wozu dienen Dokumentations-Richtlinien?... 1 2 Dokumentation des Quellcodes...

Mehr

Unix/Linux Grundlagen für Einsteiger

Unix/Linux Grundlagen für Einsteiger Unix/Linux Grundlagen für Einsteiger Seminarunterlage Version: 6.08 Version 6.08 vom 25. Juli 2016 Dieses Dokument wird durch die veröffentlicht.. Alle Rechte vorbehalten. Alle Produkt- und Dienstleistungs-Bezeichnungen

Mehr

Skripte. Beispiel. http://www.icp.uni-stuttgart.de. M. Fyta Computergrundlagen 73/93

Skripte. Beispiel. http://www.icp.uni-stuttgart.de. M. Fyta Computergrundlagen 73/93 Skripte Wie kann ich mir komplexe Befehle merken? Gar nicht aber der Computer kann es für mich! Einfach die Befehle in eine Textdatei schreiben und ausführbar machen #! (Shebang) in der ersten Zeile bestimmt

Mehr

Arbeiten in der Unix-Kommandozeile

Arbeiten in der Unix-Kommandozeile Arbeiten in der Unix-Kommandozeile PeP et al. Toolbox Workshop PeP et al. e.v. Physikstudierende und ehemalige Physikstudierende der TU Dortmund 2018 [ismo@it ~]$ _ Was ist das? Muss das sein? Ist das

Mehr

C++ vs. Java. Hello world! Java C++ class HelloWorld { static public void main(string args) { System.out.println("Hello World!

C++ vs. Java. Hello world! Java C++ class HelloWorld { static public void main(string args) { System.out.println(Hello World! Hello world! Java class HelloWorld { static public void main(string args) { System.out.println("Hello World!"); } } C #include main() { printf("hello World!\n"); } C++ #include using

Mehr

Linux II. Reguläre Ausdrücke Editoren Scripting. 2 Linux II. Linux I II III Res WN/TT NLTK XML Weka E Reguläre Ausdrücke Editoren Scripting

Linux II. Reguläre Ausdrücke Editoren Scripting. 2 Linux II. Linux I II III Res WN/TT NLTK XML Weka E Reguläre Ausdrücke Editoren Scripting Linux II 2 Linux II Reguläre Ausdrücke Editoren Scripting Reguläre Ausdrücke Reguläre Ausdrücke beschreiben eine Menge von Zeichenfolgen und werden benutzt um m festzustellen, ob eine Zeichenkette Teil

Mehr

Informatik II - Übung 01

Informatik II - Übung 01 Informatik II - Übung 01 Raphael Fischer (Folien basierend auf denen von Christian Beckel) fischrap@student.ethz.ch 01.03.2017 Wie sieht eine Übungsstunde aus? 1) Fragen aus der Vorlesung! 2) Praktische

Mehr

Compiler Präprozessor Header Files

Compiler Präprozessor Header Files Freitagsrunde C-Kurs 2012 Compiler Präprozessor Header Files Tutorium 3 ThisworkislicensedunderaCreativeCommonsAttribution NonCommercial ShareAlike3.0License Gliederung Compiler Präprozessor Header Files

Mehr

Gibt Daten im erweiterten Format aus. Dies beinhaltet die Angabe von Zugriffsrechten, Besitzer, Länge, Zeitpunkt der letzten Änderung und mehr.

Gibt Daten im erweiterten Format aus. Dies beinhaltet die Angabe von Zugriffsrechten, Besitzer, Länge, Zeitpunkt der letzten Änderung und mehr. ls [optionen] [namen]: ls zeigt den Inhalt von Verzeichnissen. Sind keine namen angegeben, werden die Dateien im aktuellen Verzeichnis aufgelistet. Sind eine oder mehrere namen angegeben, werden entweder

Mehr

Mapra: C++ Teil 3. Felix Gruber, Michael Rom. IGPM, RWTH Aachen. 10. Mai 2016

Mapra: C++ Teil 3. Felix Gruber, Michael Rom. IGPM, RWTH Aachen. 10. Mai 2016 Mapra: C++ Teil 3 Felix Gruber, Michael Rom IGPM, RWTH Aachen 10. Mai 2016 Felix Gruber, Michael Rom (IGPM, RWTH Aachen) Mapra: C++ Teil 3 10. Mai 2016 1 / 16 Themen vom letzten Mal Debuggen mit gdb Zusammengesetzte

Mehr

Linux I II III Res/Pro WN/TT Reguläre Ausdrücke Editoren Scripting. Linux II. 2 Linux II. Reguläre Ausdrücke Editoren Scripting. Ressourcen-Vorkurs

Linux I II III Res/Pro WN/TT Reguläre Ausdrücke Editoren Scripting. Linux II. 2 Linux II. Reguläre Ausdrücke Editoren Scripting. Ressourcen-Vorkurs Linux II 2 Linux II Reguläre Ausdrücke Editoren Scripting POSIX POSIX POSIX ist ein UNIX-Standard, der bestimmte grundlegende Funktionen und Eigenschaften von UNIX-Systemen definiert. Dazu gehören auch

Mehr

Beispiel: Vom Problem zum Code

Beispiel: Vom Problem zum Code Beispiel: Vom Problem zum Code High-Level Pseudo-Code: Eingabe: Anzahl Scheiben: n (jede mit aufgedruckter Nummer) Quell-Stange, Ziel-Stange, Zwischenspeicher-Stange Vorbedingungen: Auf Quell-Stange befinden

Mehr

UNIX Power Tools. Helferlein für den Alltag. Maximilian Haupt

UNIX Power Tools. Helferlein für den Alltag. Maximilian Haupt UNIX Power Tools Helferlein für den Alltag Maximilian Haupt mhaupt@cs.uni-magdeburg.de Fakultät für Informatik, Otto-von-Guericke-Universität Magdeburg Magdeburg, 28. Oktober 2008 1 Reguläre Ausdrücke

Mehr

SelfLinux Dateien unter Linux

SelfLinux Dateien unter Linux Dateien unter Linux Autor: Frank Boerner (frank@frank-boerner.de) Formatierung: Matthias Hagedorn (matthias.hagedorn@selflinux.org) Lizenz: GFDL Im Unterschied zu Windows wird bei Linux zwischen Groß-

Mehr

Effizientes Arbeiten mit dem Emacs.

Effizientes Arbeiten mit dem Emacs. Effizientes Arbeiten mit dem Emacs Emacs für Programmierer, Online-Hilfe und Konfiguration Rainer Orth Alexander Sczyrba {ro,asczyrba}@techfak.uni-bielefeld.de Überblick komfortable Unterstützung zum Schreiben

Mehr