Eine kleine Makefile Einführung
|
|
- Jens Ursler
- vor 7 Jahren
- Abrufe
Transkript
1 Eine kleine Makefile Einführung Was ist ein Makefile? Ein Makefile ist eine Art Steuerungsdatei für das Programm make. Dabei handelt es sich um eine Textdatei, die in menschenlesbarer Form Regeln enthält, nach denen make bestimmte s ausführt. Sie kann z.b. dafür verwandt werden, Programme zu kompilieren oder tar-archive zu erstellen. Die Stärke von make liegt dabei darin, das man im Makefile sogenannte Abhängigkeiten definieren kann. Diese sorgen dafür, das make nach seinem Aufruf z.b. nur Dateien compiliert, wenn diese sich geändert haben (dazu später mehr). Dies kann nützlich sein wenn man große Projekte hat, die aus vielen Dateien bestehen, von denen sich aber bei einer erneuten Compilation nicht alle Dateien geändert haben müssen (stellt euch mal vor, die Entwickler von Netscape z.b. würden nach Änderung einer Zeile in einer Datei ihr komplettes Projekt neu übersetzten...). Wie sieht ein Makefile aus? Ein Makefile ist eine Textdatei, die eine oder mehrere Regeln enthält. Die grobe Struktur ist dabei Folgende: Ziel1: Abhängigkeit(en) usw. Ziel2: Abhängigkeit(en) usf. Ziel : Ziel bezeichnet meist das Programm welches man übersetzten möchte (z.b. aufgabe18). Es kann aber auch für eine Aktion stehen (z.b. für das erstellen eines tar- Archives. Dann könnte hier z.b. tar stehen). Abhängigkeiten : Hier stehen die Namen der Dateien, von denen das Ziel abhängt. D.h. wenn wir z.b. ein Programm aufgabe18.c übersetzten wollen, dann ist die einzige 1
2 Eine kleine Makefile Einführung 14. Dezember Datei, in der sich etwas ändern kann aufgabe18.c. Entsprechend würde diese hier stehen. Weshalb, wird weiter unten erklärt. : Hier steht das welches ausgeführt wird, sofern die Abhängigkeiten erfüllt sind. Dabei ist zu beachten, das jedes dieser s durch einen Tabulator eingerückt werden muss. Es dürfen keine Leerzeichen verwendet werden! Auch dürfen innerhalb eines s keine Zeilenumbrüche vorkommen. Ein könnte z.b. der Aufruf des s tar sein, sofern man hier ein tar-archiv erstellen möchte. Was macht make jetzt damit? Wenn man nun den Befehl make in der Eingabeaufforderung mit dem auszuführenden Ziel aufruft galadriel{usr} make Ziel1 dann sucht make innerhalb des Verzeichnisses nach einem Makefile mit dem Namen makefile oder Makefile. Hat es eines gefunden, sucht make innerhalb von diesem das Ziel Ziel1 und prüft die Abhängigkeiten. D.h., make prüft nun, ob sich eine der Dateien, die an der Stelle Abhängigkeiten aufgelistet sind, geändert hat. Wenn nicht, beendet make sich mit der Nachricht: make: Ziel1 is up to date. Hat sich allerdings eine Datei seid dem letzten Aufruf von make geändert, so führt make die unter angegebenen s aus. Gibt man statt make Ziel1 einfach nur make ein, so sucht make nach einem entsprechenden Makefile und führt einfach die erste Regel aus, die in dem Makefile steht. Beispiele 1. Beispiel Nehmen wir an, wir haben in einem Verzeichnis ein C-Programm mit dem Namen aufgabe18.c. Dieses wollen wir nun mit Hilfe eines Makefiles übersetzen. Dazu möchten wir gerne den sogenannten GNU C-Compiler - kurz gcc - verwenden. Außerdem möchten wir, das unsere ausführbare Datei aufgabe18 und nicht a.out heißt. Dann könnte ein mögliches Makefile wie folgt aussehen: aufgabe18: aufgabe18.c gcc -o aufgabe18 aufgabe18.c
3 Eine kleine Makefile Einführung 14. Dezember Um dieses nun auszuführen muss man entweder make oder make aufgabe18 in der Eingabeaufforderung eingeben. make sucht dann in dem Makefile das Ziel aufgabe18. An der Stelle steht, das dieses Ziel von der Datei aufgabe18.c abhängt. make prüft nun also, ob sich die Datei aufgabe18.c, welche sich im selben Verzeichnis befindet, geändert hat, seid make das letzte Mal aufgerufen wurde (dies prüft make anhand eines Zeitstempels). Hat sich diese Datei geändert, so ruft make das angegebene auf, also den Befehl gcc -o aufgabe18 aufgabe18.c. 2. Beispiel Wie schon erwähnt, kann man mit make noch wesentlich mehr machen als Programme zu übersetzten. Man kann z.b. tar-archive erstellen. Dazu gibt es verschiedene Möglichkeiten. Nehmen wir an, wir arbeiten mit dem Login tad. Dann befindet sich unser Homeverzeichnis unter \home\tad. Nehmen wir weiter an, wir haben ein Arbeitsverzeichnis mit Namen Nebenfach und dann noch eines mit dem Namen Programme, in dem wir unsere Programmieraufgaben erledigen (der vollständige Pfad bis hier wäre nun also \home\tad\nebenfach\programme). Die Abgaberegeln besagen, dass das tar-archiv eine Verzeichnisstruktur der Form xxx_yyy/aufgabenr bieten soll, in dem sich die entsprechenden abzugebenden Dateien befinden. Nehmen wir an, wir arbeiten mit jemandem zusammen der das Login yat hat. Weiter wollen wir die Aufgabe mit der Nr 18 abgeben. Damit wir nach dem Programmieren die Dateien nicht noch weiter umsortieren müssen, möchten wir gleich in der geforderten Verzeichnisstruktur arbeiten. Also sieht unser Gesamtpfad bis hin zur Aufgabe 18 wie folgt aus: \home\tad\nebenfach\programme\tad_yat\aufgabe18 Normalerweise rufen wir jetzt von dem Unterverzeichnis Programme aus den Befehl tar -xf tad_yat_aufgabe18.tar tad_yat\aufgabe18\* auf. Um aber nicht jedesmal diesen langen Befehl eingeben zu müssen, können wir uns an die Stelle \home\tad\nebenfach\programme auch ein Makefile legen und dieses dann von diesem Verzeichnis aus aufrufen, um das entsprechende tar-archiv zu erzeugen. Dies möchten wir gerne durch den Aufruf des Befehls make tar tun. Dann könnte unser Makefile wie folgt aussehen: tar: tad_yat/aufgabe18/*.c tad_yat/aufgabe18/*.h tad_yat/aufgabe18/makefile tar -cf tad_yat_aufgabe18.tar tad_yat/aufgabe18/* Das Ziel ist also die Regel mit Namen tar, die Abhängigkeiten sind die.c und ggf..h Dateien und das abzugebende Makefile in dem Unterverzeichnis tad_yat/aufgabe18. So funktioniert das Makefile. Allerdings ist es etwas umständlich, dieses auf die jeweilige Situation anzupassen. So muss man z.b. immer die Aufgabennummer an hier 5 Stellen ändern. Auch muss man, wenn sich die Abhängigkeiten ändern (wenn man z.b. in Aufgabe 19 keine.h Dateien mehr hat), relativ viel löschen, bzw. hinzufügen. Um sich auch diese Dinge ein wenig zu vereinfachen, kann man sich in einem Makefile Variablen definieren.
4 Eine kleine Makefile Einführung 14. Dezember Diese Variablen sind in erster Linie Variablen, denen man einen Text zuordnen kann. An jeder Stelle, an der diese Variable dann wieder auftaucht, wird diese während der Ausführung durch den entsprechenden Text ersetzt. Man kann sich diesen Mechanismus ähnlich dem der EBNF vorstellen, in denen Non-Terminalsymbole entsprechend ersetzt werden. Definiert wird ein Variable durch Variablenname = Text, wobei Variablenname eben der Name der Variablen ist und Text der zugewiesene Text, der dann eingesetzt wird. Aufgerufen wird die Variable an entsprechender Stelle dann durch $(Variablenname). Dabei dient das Dollarzeichen dazu make zu signalisieren, das nun eine Variable folgt. Damit make auch weiß, wo eine Variable beginnt und endet, wird diese in Klammern eingefasst. Mit diesem Mechanismus könnte das oben angegebene Beispiel wie folgt aussehen: DEPENDENCY = $(DIR)/Makefile $(DIR)/*.c $(DIR)/*.h tar: $(DEPENDENCY_DIR) tar -cf $(GROUP)_Aufgabe$(EXERCISE).tar $(DIR)/* Hierbei stellen EXERCISE, GROUP, DIR und DEPENDENCY Variablen dar, die durch den rechts stehenden Teil ersetzt werden. Wie zu erkennen ist, kann man sich seine Variablen dabei auch rekursiv definieren. Wie zu erkennen ist, braucht man nun nurnoch die bei EXERCISE stehende Nummer zu ersetzen, um für eine andere Aufgabe ein tar-archiv zu erstellen. Ebenso müssen bei sich ändernden Abhängigkeiten nur der hinter der Variable DEPENDENCY stehende Teil angepasst werden. 3. Beispiel Mit Hilfe der Variablen lassen sich auch komplexere Makefiles einigermaßen übersichtlich halten. Es wäre natürlich praktisch, wenn ich - unabhängig von meiner eigenen Verzeichnisstruktur - eine Möglichkeit hätte, ein korrektes tar-archiv mit möglichst wenig Aufwand zu erstellen. Dazu würde man vielleicht gerne direkt in dem Verzeichnis, in dem man auch programmiert, ein Makefile verwenden, welches eigenständig für die richtige Verzeichnisstruktur sorgt, die benötigten Dateien in diese Verzeichnisstruktur kopiert, das tar-archiv erstellt und anschließend wieder aufräumt. Diese Funktionalität liefert folgendes Makefile: DEPENDENCY = Makefile *.c *.h
5 Eine kleine Makefile Einführung 14. Dezember tar: $(DEPENDENCY) mkdir $(GROUP) && mkdir $(GROUP)/Aufgabe$(EXERCISE) && cp *.c *.h Makefile $(DIR)/ && tar -cf $(GROUP)_Aufgabe$(EXERCISE).tar $(DIR)/* && rm $(DIR)/* && rmdir $(GROUP)/Aufgabe$(EXERCISE) && rmdir $(GROUP) Dieses Makefile erstellt zuerst ein Unterverzeichnis mit dem Namen tad_yat, in diesem eines mit dem Namen Aufgabe18, kopiert anschließend alle Dateien mit der Endung.c, mit der Endung.h und die Datei mit dem Namen Makefile in das erstellte Verzeichnis. Als nächstes erstellt make das tar-archiv, löscht die Dateien wieder, löscht nun das Verzeichnis Aufgabe18 und als Letztes das Verzeichnis mit dem Namen tad_yat. Wie zu erkennen, muss dieses Makefile in dem Verzeichnis liegen, in dem auch schon die Programmdateien selber liegen, also nach unser Verzeichnisstruktur unter \home\tad\nebenfach\programme\tad_yat\aufgabe18 In diesem liegt allerdings schon das Makefile, mit dem wir unser Programm übersetzten. Da aber, wie Eingang erwähnt, ein Makefile mehrere Ziele enthalten kann, lassen sich diese beiden Ziele in einem Makefile zusammenfassen (und unter Verwendung der Variablen auch die Regel zum Übersetzen vereinfachen): DEPENDENCY = Makefile *.c *.h DEPENDENCY_COMPILE = aufgabe$(exercise).c aufgabe$(exercise).h aufgabe$(exercise): $(DEPENDENCY_COMPILE) gcc -o aufgabe$(exercise) aufgabe$(exercise).c tar: $(DEPENDENCY) mkdir $(GROUP) && mkdir $(GROUP)/Aufgabe$(EXERCISE) && cp *.c *.h Makefile $(DIR)/ && tar -cf $(GROUP)_Aufgabe$(EXERCISE).tar $(DIR)/* && rm $(DIR)/* && rmdir $(GROUP)/Aufgabe$(EXERCISE) && rmdir $(GROUP) Mit diesem Makefile lässt sich nun durch Anpassen des Wertes der Variable EXERCISE und den Abhängigkeiten sowohl das aktuelle Programm compilieren, als auch ein entsprechendes tar-archiv zur Abgabe erstellen.
Basiskonzepte des Rechnerbetriebs
Universität Potsdam Institut für Informatik Wintersemester 2012 2013 Basiskonzepte des Rechnerbetriebs Aufgabenblatt 2 2 Das UNIX-Dateisystem Arbeiten Sie, wenn nicht anders vermerkt, immer auf der Kommandozeile!
MehrGrundlagen 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
MehrCompilieren 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
MehrU1 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
MehrAutomatisierung mit make
Automatisierung mit make PeP et al. Toolbox Workshop PeP et al. e.v. Physikstudierende und ehemalige Physikstudierende der TU Dortmund 2017 Automatisierte, reproduzierbare Prozesse Problem: Kurz vor Abgabe
MehrVorsemesterkurs Informatik Sommersemester Aufgabenblatt Nr. 1B
Fachbereich Informatik und Mathematik Institut für Informatik Vorsemesterkurs Informatik Sommersemester 209 Aufgabenblatt Nr. B Aufgabe (Verzeichnisse) a) Finden Sie heraus, wie Ihr Homeverzeichnis auf
MehrLinux Kommandozeile: Einfache Skripte. 1 Wiederhohlung. 2 Einfache Skripte
Linux Kommandozeile: Einfache Skripte AST, Wintersemester 2016/2017 1 Wiederhohlung Hier sind ein paar Befehle, die ihr letzte Woche schon kennen gelernt habt und heute benutzt. Befehl Parameter Funktion
MehrPraktikumstermin 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
MehrKommandozeile und Batch-Dateien. Molekulare Phylogenetik Praktikum
Kommandozeile und Batch-Dateien Molekulare Phylogenetik Praktikum 2 1.1 Die Kommandozeile Alternative zur grafischen Oberfläche (GUI) eines Betriebssystems Vorteile: Sich wiederholende Befehle können gespeichert
MehrEin-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
MehrHello World! Eine Einführung in das Programmieren Das erste Programm
Hello World! Eine Einführung in das Programmieren Das erste Programm Görschwin Fey Institute of Embedded Systems Hamburg University of Technology Slide 2 Betriebssystem Funktion Anwendung Gerätesteuerung
MehrDAP2 Praktikum Blatt 3
Fakultät für Informatik Lehrstuhl 11 / Algorithm Engineering Prof. Dr. Petra Mutzel, Carsten Gutwenger Sommersemester 2009 DAP2 Praktikum Blatt 3 Ausgabe: 5. Mai Abgabe: 6. 8. Mai Bei diesem Übungsblatt
MehrGibt 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
MehrAnhang III: Arbeiten am CIP Pool in C++
Anhang III: Arbeiten am CIP Pool in C++ A3 1 Der CIP Pool Im Rahmen der Übungen zur Vorlesung Algorithmen und Programmiertechniken bieten wir Ihnen die Möglichkeit, Übungsaufgaben, bei denen programmiert
MehrArbeiten mit der Shell Teil 1
Arbeiten mit der Shell Teil 1 Linux-Kurs der Unix-AG Zinching Dang 2. Mai 2017 Übersicht Wiederholung & Vertiefung Die Unix-Philosophie Shellbefehle Befehle & Optionen Zusammenfassung & Ausblick Tux im
MehrQuelle: (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
MehrArbeiten mit der Shell Teil 1
Arbeiten mit der Shell Teil 1 Linux-Kurs der Unix-AG Benjamin Eberle 5. Mai 2015 Shell: Standard-Features Prompt (häufig: benutzer@rechner:~$) zeigt an, dass die Shell auf Befehle wartet Befehl eingeben,
MehrArbeiten 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
MehrMaterial zum Grundlagenpraktikum ITS. eine kleine Linux-Befehlsreferenz. Stand: Oktober 2007 zusammengestellt von: Cornelia Menzel Version 1.
Material zum Grundlagenpraktikum ITS eine kleine Linux-Befehlsreferenz Stand: Oktober 2007 zusammengestellt von: Cornelia Menzel Version 1.0 Lehrstuhl für Netz- und Datensicherheit Ruhr-Universität Bochum
MehrArbeiten 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
MehrBedienungshinweise 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
MehrArbeiten mit der Shell Teil 1
Arbeiten mit der Shell Teil 1 Linux-Kurs der Unix-AG Andreas Teuchert 29. Oktober 2012 Shell: Standard-Features Prompt (häufig: benutzer@rechner:~$) zeigt an, dass die Shell auf Befehle wartet Befehl eingeben,
Mehr1 UNIX und die Kommandozeile. 2 C++ Tipps. 1.1 wichtige Befehle und Programme. 1.2 Umleiten der Standardein- und Ausgabe. 2.
1 UNIX und die Kommandozeile 1.1 wichtige Befehle und Programme cd verz wechselt in ein Verzeichnis cd.. verlässt das aktuelle Verzeichnis mkdir verz erstellt ein Verzeichnis rmdir verz löscht ein Verzeichnis
MehrVorsemesterkurs Informatik
Vorsemesterkurs Informatik Einführung in die Bedienung von Unix-Systemen SoSe 2013 Stand der Folien: 3. April 2013 Übersicht 1 Unix, Linux, Shells 2 Shell-Kommandos 3 Dateien und Verzeichnisse Vorkurs
MehrLehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Buildsysteme
Grundkurs C++ Buildsysteme Buildsysteme Beispielhaftes Übersetzungsszenario: Verzeichnis tutorial7/ main.cpp, lcdrange.cpp, lcdrange.h *.cpp Kompilieren *.o *.h Grundkurs C++ 2 Headerdateien //blackbox.h
MehrHochschule 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
MehrArbeiten mit der Shell Teil 1
Arbeiten mit der Shell Teil 1 Linux-Kurs der Unix-AG Benjamin Eberle 4. Mai 2016 Die Komandozeile unter Linux Wird als Shell bezeichnet Die Shell ist eines der vielen Programme einer Linux-Distribution
MehrLinux-Befehlsreferenz
Grundpraktikum Netz- und Datensicherheit Linux-Befehlsreferenz Lehrstuhl für Netz- und Datensicherheit Ruhr-Universität Bochum Zusammengestellt von: Cornelia Menzel, Endres Puschner Stand: 15. September
MehrShell-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
MehrShell-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
MehrVorlesung Unix-Praktikum
Vorlesung 2. Einführung: und erste Schritte Technische Fakultät Universität Bielefeld 18. Oktober 2017 1 / 37 Erste Schritte mit der Aufgaben der 1. Programm ausführen 2. zu mächtigeren Werkzeugen kombinieren
MehrZugriffsrechte. anzeigen lassen mit dem Befehl: ls -l
Zugriffsrechte anzeigen lassen mit dem Befehl: ls -l ls wird verwendet, um Informationen über die Zugriffsrechte (und mehr) von Dateien und Verzeichnissen anzuzeigen. Wenn es mit der Option "-l" aufgerufen
MehrShell-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
MehrC-Programme erstellen und ausführen
INE1 Informatik für Ingenieure 1 Praktikum 2 C-Programme erstellen und ausführen Aufgabe 1: Programm mit DevC++ erstellen In dieser Aufgabe erstellen wir ein erstes Programm mit DevC++, kompilieren es
Mehr2 2. Tag. 2.1 Das Dateisystem. das Dateisystem organisiert die Speicherung von Daten. viele Betriebssysteme haben verschiedene Dateisysteme
2 2. Tag 2.1 Das Dateisystem das Dateisystem organisiert die Speicherung von Daten viele Betriebssysteme haben verschiedene Dateisysteme ein gutes Dateisystem ist wichtig um Daten sicher zu lagern Das
Mehr05 For-Schleifen. For-Schleifen 1/7 Was ist eine Schleife?
05 For-Schleifen For-Schleifen 1/7 Was ist eine Schleife? Programmieren kann harte Arbeit bedeuten. Und manchmal ist es noch zäher, das gleiche immer und immer wieder erledigen zu müssen. Nehmen wir an,
MehrObjektorientiertes Programmieren mit Suse Linux
Objektorientiertes Programmieren mit Suse Linux Zum Programmieren werden 2 Komponenten benötigt: 1. einen Editor zur Eingabe des Quellcodes 2. einen Compiler, der den Quellcode in die Maschinensprache
MehrGrundkurs C++ Buildsysteme Versionsverwaltung mit git
Grundkurs C++ Buildsysteme Versionsverwaltung mit git Martin Knopp, Martin Gottwald, Stefan Röhrl 25.04.2018 Folie 1/21 GK C++: Buildsysteme, Versionsverwaltung Martin Knopp, Martin Gottwald, Stefan Röhrl
MehrGrundkurs C++ Buildsysteme Versionsverwaltung mit git
Grundkurs C++ Buildsysteme Versionsverwaltung mit git Martin Knopp 09.05.2017 Folie 1/1 GK C++: Buildsysteme, Versionsverwaltung Martin Knopp 09.05.2017 Buildsysteme Beispielhaftes Übersetzungsszenario:
MehrMerkblatt 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
Mehr41.8 LUA-Grundlagen - Tabelle, if und Albernheit
41.8 LUA-Grundlagen - Tabelle, if und Albernheit Autor: Goetz Quelle: Mein EEP-Forum In diesem Kapitel möchte ich eine erste, einfache Anwung von Lua auf einer Anlage zeigen. Ich werde mich dabei auf den
MehrGrundkurs C++ Buildsysteme Versionsverwaltung mit git
Grundkurs C++ Buildsysteme Versionsverwaltung mit git Martin Knopp & Johannes Feldmaier 20.04.2016 Folie 1/22 GK C++: Buildsysteme, Versionsverwaltung Martin Knopp & Johannes Feldmaier 20.04.2016 Buildsysteme
MehrUNIX 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]
MehrLinux Tutorium I IT-SICHERHEIT WS1617 BENJAMIN KUHNERT
IT-SICHERHEIT WS1617 BENJAMIN KUHNERT Darmstadt, 25. Oktober 2016 Inhaltsverzeichnis 1 Allgemeine Hinweise 2 2 Linux Shell Grundlagen 4 2.1 Die Differenz von Option und Argument..........................
Mehryacc - eine Einführung
yacc - eine Einführung Axel Kohnert 18th May 2005 Abstract yacc ist ein Unixprogramm, welches die Erstellung einer Programmiersprache unterstützt. Der Benutzer gibt die definierende Grammatik an, und das
MehrPraktische Übung. Die Lernplattformen ILIAS ist mit Stud.IP verbunden, sodass Sie Lernmodule dieser Plattform
Informatik I Wintersemester 2016/2017 Prof. Dr. Carsten Damm Georg-August-Universität Göttingen Dr. Henrik Brosenne Institut für Informatik Übung 1 Praktische Übung Testate von Di., 01.11., 8-10 Uhr bis
MehrInstallationsanleitung
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
MehrZahlen raten. Al Sweigart, Eigene Spiele programmieren Python lernen, dpunkt.verlag, ISBN D3kjd3Di38lk323nnm
D3kjd3Di38lk323nnm 33 3 Zahlen raten In diesem Kapitel schreiben Sie ein Zahlenratespiel (»Guess The Number«). Der Computer denkt sich eine Geheimzahl von 1 bis 20 aus und bittet den Benutzer, sie zu erraten.
MehrInstallation von ib-normcad 11 unter rz-industriebau 2012
Installation von ib-normcad 11 unter rz-industriebau 2012 Für ib-normcad 11 unter rz-industriebau 2012 gibt es derzeit kein Setup-Programm. Die Anwendung muss manuell installiert werden. Dazu sind die
MehrKurzanleitung zur UNIX Shell
Kurzanleitung zur UNIX Shell Institut für Mikroelektronik, 8. Oktober 009 1 GNU/Linux Shell Die Shell unter GNU/Linux ist mit einem Eingabeaufforderungs- bzw. DOS-Fenster unter Windows vergleichbar. Es
MehrEinführung in die Programmierung 1
Einführung in die Programmierung 1 Einführung (S.2) Einrichten von Eclipse (S.4) Mein Erstes Programm (S.5) Hallo Welt!? Programm Der Mensch (S.11) Klassen (S.12) Einführung Wie Funktioniert Code? Geschriebener
MehrLINUX Gesamtmitschrift
LINUX Gesamtmitschrift Martin Rabensteiner, 22.11.2015 Filesystem unter Linux - Keine Laufwerksbuchstaben - ~ Home-Verzeichnis User - Versteckte Dateien.filename Pfade 1. Absoluter Pfad eindeutiger Weg
MehrUnix-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
MehrArbeiten 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
MehrProgrammierung mit C Modularisierung von Programmen. Präprozessor-Anweisungen nutzen.
Programmierung mit C Modularisierung von Programmen. Präprozessor-Anweisungen nutzen. Modularisierung Zerlegung eines Programms in überschaubare Einheiten Die einzelnen Einheiten werden als Modul bezeichnet.
MehrVorsemesterkurs Informatik Sommersemester Aufgabenblatt Nr. 4A
Fachbereich Informatik und Mathematik Institut für Informatik Vorsemesterkurs Informatik Sommersemester 2017 Aufgabenblatt Nr. 4A zu Aufgabe 1 (Verzeichnisse) a) Öffnen Sie eine Shell und finden Sie durch
MehrFortgeschrittene GIS-Arbeitstechniken mit GRASS (Geographic Analysis Support Sytem) unter Linux. inhaltlicher Kontext: Landschaftsbewertung
Fortgeschrittene GIS-Arbeitstechniken mit GRASS (Geographic Analysis Support Sytem) unter Linux inhaltlicher Kontext: Landschaftsbewertung Scheinerwerb (im Hauptstudium): - Anwesenheit (2x Fehlen) - Bearbeiten
MehrVorsemesterkurs Informatik Sommersemester Aufgabenblatt Nr. 4A
Fachbereich Informatik und Mathematik Institut für Informatik Vorsemesterkurs Informatik Sommersemester 2018 Aufgabenblatt Nr. 4A Aufgabe 1 (Haskell Interpreter: GHCi) a) Starten Sie den Haskell Interpreter
Mehr01 Einführung in PHP. Einführung in PHP 1/13 PHP in Aktion
01 Einführung in PHP Einführung in PHP 1/13 PHP in Aktion PHP ist eine Programmiersprache, die ganz verschiedene Dinge tun kann: von einem Browser gesendete Formularinhalte auswerten, angepasste Webinhalte
MehrSCI Linux Einführung
Service Center Informatik bernhardt@cs.uni-kl.de endler@cs.uni-kl.de sci@cs.uni-kl.de 08.10.2015 Die Textkonsole () öffnen Bedienung über den Menüeintrag Terminal mit dem Shortcut strg + alt + t ... und
MehrPraktikum: Numerik partieller Differentialgleichungen I
MÜNSTER Praktikum: Numerik partieller Differentialgleichungen I Mario Ohlberger, Martin Drohmann, Michael Schaefer 07/04/2011 MÜNSTER 2 /24 Part I Grundlegende Software-Werkzeuge zum Programmieren mit
Mehrpwd mkdir Zeigt das aktuelle Verzeichnis an Beispiel: pwd
ls Listet Dateien und Verzeichnisse auf ls (Listet die Dateien und Verzeichnisse in Spalten auf) ls -l (Listet die Datei und Verzeichnisse als ausführliche Liste auf) ls *.sh (Listet nur Datei auf, die
MehrMapra: 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
MehrVorlesung Unix-Praktikum
1/3 Vorlesung 5. und Rechnerbetriebsgruppe Technische Fakultät Universität Bielefeld 16. November 2015 2/3 Willkommen zur fünften Vorlesung Was gab es beim letzten Mal? Prozesse Dateiberechtigungen 3/3
MehrLeitfaden zum Erstellen von C-Programmen
Algorithmische Mathematik I Wintersemester 2016/17 Leitfaden zum Erstellen von C-Programmen 1 Allgemeines Diese Einführung soll dem Zweck dienen, dass jeder Teilnehmer der Vorlesung die Möglichkeit hat,
MehrInformatik für Schüler, Foliensatz 2 Ausdrücke, Variablen, Datentypen, Ein- und Ausgabe
Prof. G. Kemnitz Institut für Informatik, Technische Universität Clausthal 26. August 2009 1/17 Informatik für Schüler, Foliensatz 2 Ausdrücke, Variablen, Datentypen, Ein- und Ausgabe Prof. G. Kemnitz
MehrInformatik für Schüler, Foliensatz 1 Einführung bis...
Prof. G. Kemnitz Institut für Informatik, Technische Universität Clausthal 19. August 2009 1/15 Informatik für Schüler, Foliensatz 1 Einführung bis... Prof. G. Kemnitz Institut für Informatik, Technische
MehrArbeiten mit der Shell Teil 1
Arbeiten mit der Shell Teil 1 Linux-Kurs der Unix-AG Zinching Dang 09. November 2015 Die Unix-Philosophie Es gibt viele kleine Programme Können die jeweiligen Aufgaben gut lösen Komplexe Aufgaben werden
MehrArbeiten in der Unix-Kommandozeile. PeP et al. Toolbox Workshop
Arbeiten in der Unix-Kommandozeile PeP et al. Toolbox Workshop 2015 [ismo@it ~]$ _ Was ist das? Muss das sein? Ist das nicht völlig veraltet? Das sieht nicht so schick aus PeP et al. Toolbox Workshop 2015
MehrLinux-Einführung Übung
Linux-Einführung Übung Mark Heisterkamp 24. 25. Februar 2010 1 Einführung und Grundlagen 1.1 Erste Schritte... 1.1.1 Xterminalfenster Öffnen Sie ein weiteres Xterminalfenster mit der Maus. mittels Kommando.
MehrSoftwarepraktikum: 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
MehrKR-mega32-16 rev. 2.3 Thomas Krause, Krause Robotik
Kurzanleitung zur Installation der Software zum Mikrokontrollerbord KR-mega32-16 rev. 2.3 Thomas Krause, Krause Robotik thomas.krause@krause-robotik.de Krause Robotik www.krause-robotik.de email: info@krause-robotik.de
MehrEinführung zum MS Visual Studio
0 Visual Studio Verzeichnispfade einstellen Stellen Sie nach dem Start von Visual Studio zunächst Ihr Home-Laufwerk, d.h. den Pfad für Ihre Projektverzeichnisse und Dateien ein. Beenden Sie Visual Studio
MehrL 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:
MehrAibo Make & Compile HowTo
Aibo Make & Compile HowTo Tim Baier tbaier@informatik.uni-hamburg.de 29. Oktober 2003 1 Einleitung Dies soll eine kleine Anleitung sein, wie man in der Netzwerkumgebung des AB TAMS Programme für den Aibo
MehrANT. Kurzvortrag von Manuel Schulze. mschulze@inf.fu-berlin.de
ANT Kurzvortrag von Manuel Schulze mschulze@inf.fu-berlin.de ANT Überblick Teilprojekt der Apache Software Foundation [1] ANT ist Opensource Build-Tool ähnlich wie make (?) jedoch voll auf Java zugeschnitten
Mehr<? $ZeilenMax = 9; $SpaltenMax = 9; echo "<pre>";
Vorbemerkungen Diese Schrittanleitung bezieht sich auf die Aufgaben 4 bis 6 von "Übung 2 - Schleifenbeispiele (1)" Sie soll als Anregung dienen, wie Sie Ihren Code blockweise erstellen und testen können.
MehrWissenschaftliches Rechnen im SoSe 2010 Prof. T. Ludwig, J. Kunkel, M. Kuhn, H. Lenhart, P. Nerge
Universität Hamburg Übungsblatt 1 zum Praktikum Department Informatik Paralleles Programmieren Wissenschaftliches Rechnen im SoSe 2010 Prof. T. Ludwig, J. Kunkel, M. Kuhn, H. Lenhart, P. Nerge In diesem
MehrShell. 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
MehrProgrammieren in C++
Programmieren in C++ (ESE) SS 2013 Vorlesung 1, Dienstag 24. April 2012 (Ein erstes Programm + das ganze Drumherum) Prof. Dr. Hannah Bast Lehrstuhl für Algorithmen und Datenstrukturen Institut für Informatik
MehrPrüfungsvorleistung Datenstrukturen
Prüfungsvorleistung Datenstrukturen Allgemeine Hinweise Als Prüfungsvorleistung für die Klausur Datenstrukturen müssen Hausaufgaben gelöst werden. Jede Hausaufgabe wird mit einer bestimmten Anzahl an Punkten
MehrSpaichinger Entwicklungsumgebung 1.1 Zur C-Programmierung und Simulation von ct-bots (Fahrrobotern)
Bedienungsanleitung Spaichinger Entwicklungsumgebung 1.1 Zur C-Programmierung und Simulation von ct-bots (Fahrrobotern) Freeware für Microsoft Windows Dr. Markus Ziegler www.spaichinger-schallpegelmesser.de
MehrCompiler 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
MehrMifas unter Windows 2000 installieren
Einrichten einer lokalen Workstation 2000 Für die Installation von Mifas auf einem lokalen PC sind folgende Schritte notwendig: Zunächst ist als Administrator oder Benutzer mit äquivalenten Rechten auf
MehrIhr Heimatverzeichnis. Die Ausgangsverzeichnisse für die neu zu erstellenden Verzeichnisse sind folgender Tabelle zu entnehmen:
1. Aufgabe Erzeugen von Verzeichnissen Ausgehend vom Verzeichnisbaum Ihr Heimatverzeichnis / home users xyz ist folgende Struktur zu erzeugen: Ihr Heimatverzeichnis v1 v2 v3 / home users xyz v4 v5 v6 Die
Mehr4 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
MehrVariablen in MATLAB. Unterschiede zur Mathematik: Symbolisches und numerisches Rechnen. Skriptdateien. for-schleifen.
Variablen in MATLAB. Unterschiede zur Mathematik: Symbolisches und numerisches Rechnen. Skriptdateien. for-schleifen. Wir wollen uns heute dem Thema Variablen widmen und uns damit beschäftigen, wie sich
MehrÜbung zur Vorlesung EidP (WS 2018/19) Blatt 4
Lutz Oettershagen Jurij Kuzmic Dortmund, den 8. November 2018 Übung zur Vorlesung EidP (WS 2018/19) Blatt 4 Block gelb Es können 4 Punkte erreicht werden. Abgabedatum: 15. November 2018, 2:59 Uhr Hinweise
MehrToolbox 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
MehrBash-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
MehrZWEITE Ü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
MehrTipps und Tricks für Programmierer im SAS Enterprise Guide
Webinar@Lunchtime Tipps und Tricks für Programmierer im SAS Enterprise Guide Herzlich Willkommen bei Webinar@Lunchtime Moderation Anne K. Bogner-Hamleh SAS Institute GmbH Education Consultant Xing-Profil:
MehrBash-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
MehrVorlesung Unix-Praktikum
Vorlesung 5. und Folien nach Carsten Gnörlich Technische Fakultät Universität Bielefeld 15. November 2017 1 / 34 Willkommen zur fünften Vorlesung Was gab es beim letzten Mal? Prozesse Dateiberechtigungen
MehrBash-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