Systemnahe Programmierung in C/C++

Größe: px
Ab Seite anzeigen:

Download "Systemnahe Programmierung in C/C++"

Transkript

1 Systemnahe Programmierung in C/C++ Modularisierung, Makefiles und Debugging Knut Stolze Lehrstuhl für Datenbanken und Informationssysteme Fakultät für Mathematik und Informatik Knut Stolze (DBIS) C/C++ Programmierung / 42

2 Agenda 1 Modularisierung Module Bibliotheken 2 Makefiles 3 Debugging & Tracing Debugging Tracing Profiling Speicherverwaltung 4 Aufgaben Knut Stolze (DBIS) C/C++ Programmierung / 42

3 Outline 1 Modularisierung Module Bibliotheken 2 Makefiles 3 Debugging & Tracing Debugging Tracing Profiling Speicherverwaltung 4 Aufgaben Knut Stolze (DBIS) C/C++ Programmierung / 42

4 Modularisierung 1 Dateiintern: Aufteilung von Funktionen in verschiedene Übersetzungseinheiten Nicht weiter diskutiert 2 Objektebene: Module als Mechanismus ähnlich zum Klassenkonzept in OO-Programmiersprachen 3 Packaging: Implementierung von Bibliotheken Bereits bekannt 4 Architekturebene: Prozesse vs. Threads Nächste Woche Knut Stolze (DBIS) C/C++ Programmierung / 42

5 Module Einzige höhere Abstraktion in C (Klassen in Java/C++) Reichlich Gebrauch davon machen Modul definiert Struktur Alle Funktionen erhalten Zeiger auf Stuktur als ersten Parameter Header: #if!defined( MODULE_H ) #define MODULE_H struct mod_data; mod_data* mod_open(char *init,...); int mod_action(mod_data *dat, int arg1, char *arg2,...); int mod_close(mod_data *dat); #endif Knut Stolze (DBIS) C/C++ Programmierung / 42

6 Module (cont.) #include "module.h" struct mod_data { long internal_state;... } /* private */ int function(int arg,...) {... } /* public */ mod_data* mod_open(char *init,...) {... } Knut Stolze (DBIS) C/C++ Programmierung / 42

7 Module Tipps Schnittstelle sauber entwerfen Schnittstelle im Header-File dokumentieren Schnittstelle auch auf Testbarkeit hin gestalten Header gegen Mehrfachinklusion schützen APIs symmetrisch gestalten (open close) Defensiv programmieren Funktion bei Fehlern so schnell wie möglich beenden Bei Fehler definierten Zustand hinterlassen Argumente von extern aufgerufenen Funktionen immer validieren Globale Variablen mit static schützen Kein Zugriff auf Variablen anderer Module (mittels external) Accessor-Funktionen einsetzen Knut Stolze (DBIS) C/C++ Programmierung / 42

8 Bibliotheken 1 Zur Compile-Zeit hinzuge link t Bereits bekannt 2 Dynamisch zur Laufzeit geladen Funktionen: dlopen, dlclose und dlsym Knut Stolze (DBIS) C/C++ Programmierung / 42

9 Dynamische Verwendung von Bibliotheken void *dlopen(const char *filename, int flag) Lädt angegebene Bibliothek Gibt DLL-Handle zurück Verschiedene Optionen zur Kontrolle des Ladevorgangs int dlclose(void *handle) Schliesst geladene Bibliothek Gibt Resourcen frei void *dlsym(void *handle, const char *symbol) Gibt Addresse des angegebenen Symbols Zeiger auf Variable oder Funktionszeiger Funktionsnamen in C eindeutig Symbol = Funktionsname C++ hat Name Mangeling Knut Stolze (DBIS) C/C++ Programmierung / 42

10 Dynamische Verwendung von Bibliotheken void *dlopen(const char *filename, int flag) Lädt angegebene Bibliothek Gibt DLL-Handle zurück Verschiedene Optionen zur Kontrolle des Ladevorgangs int dlclose(void *handle) Schliesst geladene Bibliothek Gibt Resourcen frei void *dlsym(void *handle, const char *symbol) Gibt Addresse des angegebenen Symbols Zeiger auf Variable oder Funktionszeiger Funktionsnamen in C eindeutig Symbol = Funktionsname C++ hat Name Mangeling Knut Stolze (DBIS) C/C++ Programmierung / 42

11 Dynamische Verwendung von Bibliotheken void *dlopen(const char *filename, int flag) Lädt angegebene Bibliothek Gibt DLL-Handle zurück Verschiedene Optionen zur Kontrolle des Ladevorgangs int dlclose(void *handle) Schliesst geladene Bibliothek Gibt Resourcen frei void *dlsym(void *handle, const char *symbol) Gibt Addresse des angegebenen Symbols Zeiger auf Variable oder Funktionszeiger Funktionsnamen in C eindeutig Symbol = Funktionsname C++ hat Name Mangeling Knut Stolze (DBIS) C/C++ Programmierung / 42

12 Outline 1 Modularisierung Module Bibliotheken 2 Makefiles 3 Debugging & Tracing Debugging Tracing Profiling Speicherverwaltung 4 Aufgaben Knut Stolze (DBIS) C/C++ Programmierung / 42

13 Makefiles Besteht aus Menge von Regeln Steuert Übersetzung von Programmen Ziel: Quelle Quelle... Shellkommando Shellkommando... Ziel ist Name einer Datei Gibt an, welche Datei erzeugt wird Falls eine Quelle neuer als Ziel, werden Kommandos ausgeführt Quelle kann in anderen Regeln andere Vorraussetzungen haben Aktualität und Existenz der Quellen wird rekursiv behandelt Shellkommandos müssen Ziel aus Quellen erzeugen Müssen durch <TAB> eingeleitet werden Voranstellung: - ignoriere Kommando selbst nicht ausgeben Knut Stolze (DBIS) C/C++ Programmierung / 42

14 Makefile Beispiel prog: mod1.o mod2.o mod3.o gcc mod1.o mod2.o mod3.o -lm \ -lglib -o prog mod1.o: mod1.c gcc -Wall -O2 -c mod1.c mod2.o: mod2.c gcc -Wall -O2 -c mod2.c mod3.o: mod3.c gcc -Wall -O2 -c mod3.c Knut Stolze (DBIS) C/C++ Programmierung / 42

15 Variablen & Funktionen Wiederholter Text kann durch Variablen ersetzt werden Variablen als Listen interpretiert Funktionen zur Manipulation SOURCES := mod1.c mod2.c mod3.c OBJECTS := $(patsubst.c,.o, $(SOURCES)) CC := gcc prog: $(OBJECTS) $(CC) $(OBJECTS) -lglib -o prog Spezielle Variablen: Ziel $< Erste Quelle $ Alle Quellen (über mehrere Regeln) $? Quellen, die aktueller als Ziel sind Knut Stolze (DBIS) C/C++ Programmierung / 42

16 Spezielle Regeln Regeln mit Mustern Platzhalter % definiert Regelmengen Kommandosequenzen können zusammengefasst und 1x definiert werden Verwendung wie Variablen Mit define... endef definiert Regeln für häufig vorkommende Anwendungsfalle bereits in make eingebaut Siehe info make Möglichst wenig verwenden weil implizit Phony Targets Ziele, für die nie eine gleichnamige Datei erzeugt wird clean:.phony: clean rm -f *~ *.o core prog Knut Stolze (DBIS) C/C++ Programmierung / 42

17 Beispiel SOURCES := mod1.c mod2.c mod3.c OBJECTS := $(patsubst.c,.o, $(SOURCES)) CC := gcc CFLAGS := -Wall -O2 define link-source $(CC) $(OBJECTS) -lglib -o prog endef define compile-source $(CC) $(CFLAGS) -c $< -o endef prog: $(OBJECTS) $(link-source) %.o: %.c $(compile-source) Knut Stolze (DBIS) C/C++ Programmierung / 42

18 Abhängigkeiten Abhängigkeiten können automatisch generiert werden Von C/C++ Quellcode Kommando makedepend Teil von X11 Kompileroption -M für gcc Knut Stolze (DBIS) C/C++ Programmierung / 42

19 Strukturierung von Makefiles Abhängigkeiten oft in separate Dateien ausgelagert Z. B..dep oder.make.dep Plattformabhängige Einstellungen separiert Z. B. unterschiedliche Compiler auf verschiedenen Plattformen Komponentenspezifische Makefiles include../makefile.aix Knut Stolze (DBIS) C/C++ Programmierung / 42

20 Outline 1 Modularisierung Module Bibliotheken 2 Makefiles 3 Debugging & Tracing Debugging Tracing Profiling Speicherverwaltung 4 Aufgaben Knut Stolze (DBIS) C/C++ Programmierung / 42

21 Debugging Schrittweises Nachvollziehen der Logik eines Programms und seiner Funktionen Direkter Zugriff auf und Modifikation von Variablen und Speicherinhalt Programm muss vor dem Debugging nicht übersetzt oder geändert werden Debug-Informationen jedoch notwendig Compiler-Option -g Übersetzung mit Optimierung beeinflusst Abbildung zwischen Quelltext und Maschinencode Nicht Option -Ox verwenden Knut Stolze (DBIS) C/C++ Programmierung / 42

22 Debugging Schrittweises Nachvollziehen der Logik eines Programms und seiner Funktionen Direkter Zugriff auf und Modifikation von Variablen und Speicherinhalt Programm muss vor dem Debugging nicht übersetzt oder geändert werden Debug-Informationen jedoch notwendig Compiler-Option -g Übersetzung mit Optimierung beeinflusst Abbildung zwischen Quelltext und Maschinencode Nicht Option -Ox verwenden Knut Stolze (DBIS) C/C++ Programmierung / 42

23 Debugging Schrittweises Nachvollziehen der Logik eines Programms und seiner Funktionen Direkter Zugriff auf und Modifikation von Variablen und Speicherinhalt Programm muss vor dem Debugging nicht übersetzt oder geändert werden Debug-Informationen jedoch notwendig Compiler-Option -g Übersetzung mit Optimierung beeinflusst Abbildung zwischen Quelltext und Maschinencode Nicht Option -Ox verwenden Knut Stolze (DBIS) C/C++ Programmierung / 42

24 Debugger 1 Bearbeiten von bereits laufenden Programmen möglich Debugger verbindet sich zu existierenden Prozess Option attach (häufig -a) 2 Analysieren von core Dateien Eine Art Log bei Programmabstürzes Knut Stolze (DBIS) C/C++ Programmierung / 42

25 Core Dumps Datei, die bei bestimmten Signalen geschrieben wird SIGQUIT, SIGILL, SIGABRT, SIGFPE, SIGSEGV, SIGBUS, SIGSYS, SIGTRAP, SIGXCPU, SIGXFSZ Image des Speichers eines Prozesses Heap + Stack Implizit Aufrufreihenfolge von Funktionen bekannt Größe von core Dateien kann limitiert werden Funktion getrlimit Kommando ulimit Core wird nicht geschrieben, wenn Keine Rechte im Zielverzeichnis core existiert bereits und ist read-only Größe auf 0 Bytes beschränkt... Knut Stolze (DBIS) C/C++ Programmierung / 42

26 Typische Debuggerfunktionalität Run Starte Programm evtl. mit zusätzlichen Kommandozeilenoptionen Breakpoint setzen Programmausführung wird beim Erreichen unterbrochen Debugger sendet Signal an Prozess Next Führe einen Schritt in Funktion aus Step Steige in aufgerufene Funktion hinab Wenn nicht möglich, führe einen Schritt in aktuelle Funktion aus Knut Stolze (DBIS) C/C++ Programmierung / 42

27 Typische Debuggerfunktionalität (cont.) Continue Setzt Programmausführung bis zum nächsten Breakpoint fort Keine Schrittweise Abarbeitung Restart Starte Programm komplett neu Nötig, wenn Kontrollfluss bereits nach gewünschtem Ereignis ist Backtrace Gibt aktuellen Aufruf-Stack aus Print Variablen/Datenstrukturen anzeigen (global und lokal) Set Setze Wert einer Variable oder Speicherbereichs... Knut Stolze (DBIS) C/C++ Programmierung / 42

28 Debugger Beispiele Kommandozeilen-Debugger gdb $ gdb <programm-name> Unerlässlich: help-befehl Sehr hilfreich wenn keine graphische Oberfläche verfügbar Grafische Debugger Meist besser und übersichtlicher Quelltext, Variablen, Aufruf-Stack,... werden parallel angezeigt ddd GNU Debugger, basiert auf gdb xldb IBM AIX Debugger (bereits in die Jahre gekommen) idebug AIX Debugger Knut Stolze (DBIS) C/C++ Programmierung / 42

29 Debugger Beispiele Kommandozeilen-Debugger gdb $ gdb <programm-name> Unerlässlich: help-befehl Sehr hilfreich wenn keine graphische Oberfläche verfügbar Grafische Debugger Meist besser und übersichtlicher Quelltext, Variablen, Aufruf-Stack,... werden parallel angezeigt ddd GNU Debugger, basiert auf gdb xldb IBM AIX Debugger (bereits in die Jahre gekommen) idebug AIX Debugger Knut Stolze (DBIS) C/C++ Programmierung / 42

30 ddd Knut Stolze (DBIS) C/C++ Programmierung / 42

31 Internas 1 Debugger startet Programm Debugger & Programm sind ein Prozess Debugger kann auf Speicher und Strukturen des Programms zugreifen 2 Debugger verbindet sich zu bereits laufendem Prozess Debugger & Programm sind verschiedene Prozesse Betriebssystem trennt klar beide Adressräume Spezielle Systemfunktion erlaubt Zugriff auf Speicher anderer Prozesse Funktion nicht selber nutzen, da sehr schwierig zu handhaben und risikobehaftet Besondere Rechte notwendig Knut Stolze (DBIS) C/C++ Programmierung / 42

32 Internas 1 Debugger startet Programm Debugger & Programm sind ein Prozess Debugger kann auf Speicher und Strukturen des Programms zugreifen 2 Debugger verbindet sich zu bereits laufendem Prozess Debugger & Programm sind verschiedene Prozesse Betriebssystem trennt klar beide Adressräume Spezielle Systemfunktion erlaubt Zugriff auf Speicher anderer Prozesse Funktion nicht selber nutzen, da sehr schwierig zu handhaben und risikobehaftet Besondere Rechte notwendig Knut Stolze (DBIS) C/C++ Programmierung / 42

33 Tracing Programme werden nicht mit Debug-Informationen ausgeliefert. Optimierung Bessere Laufzeit Besseres Cache-Verhalten Starten/Attachen eines Debuggers nicht möglich Nachvollziehen des Programmablaufs mit anderen Mitteln Instrumentieren des Codes Knut Stolze (DBIS) C/C++ Programmierung / 42

34 Tracing Programme werden nicht mit Debug-Informationen ausgeliefert. Optimierung Bessere Laufzeit Besseres Cache-Verhalten Starten/Attachen eines Debuggers nicht möglich Nachvollziehen des Programmablaufs mit anderen Mitteln Instrumentieren des Codes Knut Stolze (DBIS) C/C++ Programmierung / 42

35 Tracing (cont.) Dedizierte Kompontente Sammelt Trace-Informationen bei Bedarf Im fertigen Produkt mit vorhanden Informationen Eintritt & Verlassen von Funktionen Daten an ausgewählten Zwischenpunkten Informationen beschränkt! Knut Stolze (DBIS) C/C++ Programmierung / 42

36 Tracing (cont.) Dedizierte Kompontente Sammelt Trace-Informationen bei Bedarf Im fertigen Produkt mit vorhanden Informationen Eintritt & Verlassen von Funktionen Daten an ausgewählten Zwischenpunkten Informationen beschränkt! Knut Stolze (DBIS) C/C++ Programmierung / 42

37 Tracing (cont.) Dedizierte Kompontente Sammelt Trace-Informationen bei Bedarf Im fertigen Produkt mit vorhanden Informationen Eintritt & Verlassen von Funktionen Daten an ausgewählten Zwischenpunkten Informationen beschränkt! Knut Stolze (DBIS) C/C++ Programmierung / 42

38 Beispiel System J Macros: DBJ_TRACE_ENTRY() DBJ_TRACE_EXIT() DBJ_TRACE_ACTIVE() DBJ_TRACE_DATA1(tracePoint, length1, data1) DBJ_TRACE_DATA2(tracePoint, length1, data1, length2, data2) DBJ_TRACE_DATA3(tracePoint, length1, data1, length2, data2, length3, data3) DBJ_TRACE_NUMBER(tracePoint, str, val) DBJ_TRACE_STRING(tracePoint, str) Einfache Prüfung zum An-/Abschalten des Tracings if (dbj_trace_on) {...} Knut Stolze (DBIS) C/C++ Programmierung / 42

39 Profiling Profiling: Wo verbraucht ein Programm seine Zeit? 1 Kompilieren und Linken mit eingeschalteten Profiling GCC-Option -pg 2 Ausführen des Programms, um Profiling-Daten zu sammeln Produziert Datei gmon.out beim Programmende 3 Analysieren der Daten Programm gprof 4 Andere Programme und Mechanismen Valgrind + Visualisierung Knut Stolze (DBIS) C/C++ Programmierung / 42

40 gprof Beispiel gcc profiling.c -pg./a.out gprof -b -Q a.out % cumulative self self total time seconds seconds calls Ts/call Ts/call name fct fct1_ fct1_ fct2 Knut Stolze (DBIS) C/C++ Programmierung / 42

41 Code Coverage Testing Überprüfen, welche Anweisungen und Pfade ausgeführt werden White-Box Testing Tools gcov xsuds Purify JCover... Knut Stolze (DBIS) C/C++ Programmierung / 42

42 gcov Arbeiten mit gcc zusammen 1 gcc -fprofile-arcs -ftest-coverage profiling.c Instrumentiert und übersetzt Programm 2./a.out Sammelt Profiling-Informationen 3 gcov -a profiling.c Formatiert Profiling-Informationen 4 cat profiling.c.gcov -: 3:void fct1_1() 1: 4:{ 1: 5: printf("function 1-1\n"); 1: 5-block 0 1: 6:}... -: 25:int main() 1: 26:{ 1: 27: fct1(); 1: 27-block 0 1: 28: fct2(); 1: 29: return 0; -: 30:} Knut Stolze (DBIS) C/C++ Programmierung / 42

43 Speicherverwaltung Nachvollziehen, welche Speicherblöcke allokiert wurden? Wo angefordert? Welche Größe? Keine Unterstützung vom Betriebssystem Muss Anwendung selbst abdecken Entsprechende Bibliotheken einsetzen Eigene Funktionen schreiben Knut Stolze (DBIS) C/C++ Programmierung / 42

44 Speicherverwaltung Nachvollziehen, welche Speicherblöcke allokiert wurden? Wo angefordert? Welche Größe? Keine Unterstützung vom Betriebssystem Muss Anwendung selbst abdecken Entsprechende Bibliotheken einsetzen Eigene Funktionen schreiben Knut Stolze (DBIS) C/C++ Programmierung / 42

45 Speicherverwaltung Nachvollziehen, welche Speicherblöcke allokiert wurden? Wo angefordert? Welche Größe? Keine Unterstützung vom Betriebssystem Muss Anwendung selbst abdecken Entsprechende Bibliotheken einsetzen Eigene Funktionen schreiben Knut Stolze (DBIS) C/C++ Programmierung / 42

46 Systemfunktionen abfangen Bibliothek X mit Funktionen malloc, free etc. Umgebungsvariable LD_PRELOAD lädt X Symbole im Programm werden gegen X aufgelöst malloc, free etc. Alle weiteren Symbole gegen libc aufgelöst Accounting in eigener Implementierung Funktionen weitergereicht Knut Stolze (DBIS) C/C++ Programmierung / 42

47 Systemfunktionen abfangen Bibliothek X mit Funktionen malloc, free etc. Umgebungsvariable LD_PRELOAD lädt X Symbole im Programm werden gegen X aufgelöst malloc, free etc. Alle weiteren Symbole gegen libc aufgelöst Accounting in eigener Implementierung Funktionen weitergereicht Knut Stolze (DBIS) C/C++ Programmierung / 42

48 Systemfunktionen abfangen Bibliothek X mit Funktionen malloc, free etc. Umgebungsvariable LD_PRELOAD lädt X Symbole im Programm werden gegen X aufgelöst malloc, free etc. Alle weiteren Symbole gegen libc aufgelöst Accounting in eigener Implementierung Funktionen weitergereicht Knut Stolze (DBIS) C/C++ Programmierung / 42

49 Systemfunktionen abfangen Bibliothek X mit Funktionen malloc, free etc. Umgebungsvariable LD_PRELOAD lädt X Symbole im Programm werden gegen X aufgelöst malloc, free etc. Alle weiteren Symbole gegen libc aufgelöst Accounting in eigener Implementierung Funktionen weitergereicht Knut Stolze (DBIS) C/C++ Programmierung / 42

50 Outline 1 Modularisierung Module Bibliotheken 2 Makefiles 3 Debugging & Tracing Debugging Tracing Profiling Speicherverwaltung 4 Aufgaben Knut Stolze (DBIS) C/C++ Programmierung / 42

51 Allgemeine Hinweise Achten Sie auf ordnungsgemäße Fehlerbehandlung in allen Fällen. Alle Resourcen, die eine Programm oder eine Bibliothek verwendet, sind explizit freizugeben. Es soll/darf sich nicht auf das Betriebssystem verlassen werden. (In Bibliotheken kann man das sowieso nicht, und in allen anderen Fällen ist es einfach guter Stil.) Knut Stolze (DBIS) C/C++ Programmierung / 42

52 Aufgabe 1 Makefiles Schreiben Sie ein Makefile, welches auf alle nachfolgenden Aufgaben 2-5 zugeschnitten ist und die jeweiligen Dateien übersetzt, link t, und ausführt. Zusätzlich ist eine Möglichkeit zum Aufräumen bzw. Löschen aller Dateien, die keine Quelldateien sind, bereitzustellen. Knut Stolze (DBIS) C/C++ Programmierung / 42

53 Aufgabe 2 Modularisierung Implementieren Sie ein Modul (siehe Slide 5), welches Strings in einer Struktur verwaltet. Die Struktur hat den String bzw. eine Kopie davon selbständig zu verwalten, d. h. einschliesslich der nötigen Speicherallokationen. Zusätzlich sind folgende Funktionen bereitzustellen: a) Kreieren eines neuen, leeren Strings (Allokieren und Intialisieren), b) Zerstören und Freigeben des Strings und der Struktur, c) Anhängen eines C-Strings (Typ char *), d) Konkatenieren von zwei Strings, die in besagten Strukturen verwaltet werden, e) Ermitteln der aktuellen Länge des Strings, f) Ermitteln der Länge des aktuell allokierten Puffers. Wir nehmen an, dass keine Multibyte-Zeichensätze verwendet werden und damit keine Konvertierungen zwischen Zeichensätzen nötig sind. Knut Stolze (DBIS) C/C++ Programmierung / 42

54 Aufgabe 3 Profiling/Coverage Schreiben Sie ein Programm, dass die verschiedenen Funktionen des Moduls aus Aufgabe 2 verwendet und testet. Die Funktionen aus Aufgabe 2 können entweder direkt (also.o-datei) hinzuge linkt oder als Bibliothek (shared library) eingebunden werden. a) Nutzen Sie Profiling, um zu überprüfen, welche Funktionen die meiste Zeit benötigen. (Eventuell benötigen Sie eine Reihe von Aufrufen, um aussagefähige Zahlen zu erhalten.) b) Verwenden Sie gcov um die Code Coverage des Moduls durch Ihr Testprogramm zu ermitteln. Knut Stolze (DBIS) C/C++ Programmierung / 42

55 Aufgabe 4 Speicherauditing Implementieren Sie eigene Versionen aller dynamischen C Speicherfunktionen, die nachvollziehen, wann ein Speicherblock allokiert (in welcher Größe), und wann er wieder freigegeben wurde. Bauen Sie eine Bibliothek (shared library) in der die Funktionen aufgenommen werden. Verwenden Sie diese Bibliothek, um die Nutzung des Speichers (Heaps) durch das Testprogramm von Aufgabe 3 nachzuvollziehen. Dafür ist gegebenenfalls der Quelltext von Aufgabe 2 und 3 anzupassen, damit die neuen Funktionen verwendet werden. Das Nachverfolgen der Speicheroperationen soll mit einer Umgebungsvariable an- bzw. abgeschaltet werden können. Knut Stolze (DBIS) C/C++ Programmierung / 42

56 Aufgabe 5 Dynamische Bibliotheken Implementieren Sie ein Programm, welches die Bibliothek aus Aufgabe 4 dynamisch lädt, und die 5 Speicherfunktionen (welche sind das?) aus der Bibliothek ermittelt und Funktionszeigern zuweist. In 2-3 Beispielen sind diese Funktionszeiger bei Speicheroperationen zu verwenden. Zwischendurch ist die Bibliothek wieder zu entladen, und die regulären Speicherfunktionen (malloc, realloc etc.) sind zu verwenden selbstverständlich über die Funktionszeiger. Knut Stolze (DBIS) C/C++ Programmierung / 42

Dr. Monika Meiler. Inhalt

Dr. Monika Meiler. Inhalt Inhalt 11 Dynamische Feldvereinbarung... 11-2 11.1 Dynamische Vereinbarung von Vektoren... 11-3 11.2 Dynamische Vereinbarung von Matrizen... 11-5 11.3 Die Kommandozeile... 11-8 Propädeutikum 11-1/8 11

Mehr

Zählen von Objekten einer bestimmten Klasse

Zählen von Objekten einer bestimmten Klasse Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --

Mehr

Einführung in die C-Programmierung

Einführung in die C-Programmierung Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).

Mehr

Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express

Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express Howto Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express Peter Bitterlich Markus Langer 12. Oktober 2012 Zusammenfassung Dieses Dokument erklärt Schritt für Schritt die Installation

Mehr

Qt-Projekte mit Visual Studio 2005

Qt-Projekte mit Visual Studio 2005 Qt-Projekte mit Visual Studio 2005 Benötigte Programme: Visual Studio 2005 Vollversion, Microsoft Qt 4 Open Source s. Qt 4-Installationsanleitung Tabelle 1: Benötigte Programme für die Qt-Programmierung

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

The ToolChain.com. Grafisches Debugging mit der QtCreator Entwicklungsumgebung

The ToolChain.com. Grafisches Debugging mit der QtCreator Entwicklungsumgebung The ToolChain Grafisches Debugging mit der QtCreator Entwicklungsumgebung geschrieben von Gregor Rebel 2014-2015 Hintergrund Neben dem textuellen Debuggen in der Textkonsole bieten moderene Entwicklungsumgebungen

Mehr

Kompilieren und Linken

Kompilieren und Linken Kapitel 2 Kompilieren und Linken Bevor wir uns auf C++ selbst stürzen, brauchen wir einiges Vorgeplänkel, wie man komfortabel ein größeres C++- kompilieren kann. Mit Java stellt sich der Kompiliervorgang

Mehr

17.1.2014 Einführung in die Programmierung Laborübung bei Korcan Y. Kirkici. 12.Übung 13.1. bis 17.1.2014

17.1.2014 Einführung in die Programmierung Laborübung bei Korcan Y. Kirkici. 12.Übung 13.1. bis 17.1.2014 17.1.2014 Einführung in die Programmierung Laborübung bei Korcan Y. Kirkici 12.Übung 13.1. bis 17.1.2014 1 BEFRAGUNG http://1.bp.blogspot.com/- waaowrew9gc/tuhgqro4u_i/aaaaaaaaaey/3xhl 4Va2SOQ/s1600/crying%2Bmeme.png

Mehr

Programmentwicklung mit C++ (unter Unix/Linux)

Programmentwicklung mit C++ (unter Unix/Linux) Programmentwicklung mit C++ (unter Unix/Linux) Erste Schritte Der gcc - Compiler & Linker Organisation des Source-Codes & Libraries Automatische Programmgenerierung: Make Birgit Möller & Denis Williams

Mehr

Informatik I Tutorial

Informatik I Tutorial ETH Zürich, D-INFK/D-BAUG Herbstsemester 2015 Dr. Martin Hirt Daniel Jost Informatik I Tutorial Dieses Tutorial hat zum Ziel, die notwendigen Tools auf dem eigenen Computer zu installieren, so dass ihr

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein. Schritt 1: Installation des Javacompilers JDK. Der erste Start mit Eclipse Bevor Sie den Java-Compiler installieren sollten Sie sich vergewissern, ob er eventuell schon installiert ist. Gehen sie wie folgt

Mehr

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff Programmieren in C Macros, Funktionen und modulare Programmstruktur Prof. Dr. Nikolaus Wulff Der C Präprozessor Vor einem Compile Lauf werden alle Präprozessor Kommandos/Makros ausgewertet. Diese sind

Mehr

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage .htaccess HOWTO zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage Stand: 21.06.2015 Inhaltsverzeichnis 1. Vorwort...3 2. Verwendung...4 2.1 Allgemeines...4 2.1 Das Aussehen der.htaccess

Mehr

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet C++ Grundlagen ++ bedeutet Erweiterung zum Ansi C Standard Hier wird eine Funktion eingeleitet Aufbau: In dieser Datei stehen die Befehle, die gestartet werden, wenn das Programm gestartet wird Int main()

Mehr

Second Steps in eport 2.0 So ordern Sie Credits und Berichte

Second Steps in eport 2.0 So ordern Sie Credits und Berichte Second Steps in eport 2.0 So ordern Sie Credits und Berichte Schritt 1: Credits kaufen, um Zugangscodes generieren zu können Wählen Sie Credits verwalten und klicken Sie auf Credits kaufen. Geben Sie nun

Mehr

Überprüfung der digital signierten E-Rechnung

Überprüfung der digital signierten E-Rechnung Überprüfung der digital signierten E-Rechnung Aufgrund des BMF-Erlasses vom Juli 2005 (BMF-010219/0183-IV/9/2005) gelten ab 01.01.2006 nur noch jene elektronischen Rechnungen als vorsteuerabzugspflichtig,

Mehr

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit, Wie kann ein PDF File angezeigt werden? kann mit Acrobat-Viewern angezeigt werden auf jeder Plattform!! (Unix,

Mehr

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom 21.10.2013b AGROPLUS Buchhaltung Daten-Server und Sicherheitskopie Version vom 21.10.2013b 3a) Der Daten-Server Modus und der Tresor Der Daten-Server ist eine Betriebsart welche dem Nutzer eine grosse Flexibilität

Mehr

Einführung in die Programmierung mit C++

Einführung in die Programmierung mit C++ 1 Seite 1 Einführung in die Programmierung mit C++ Teil IV - Weiterführende Themen 14. Modularisierung und Automatisierung Was heißt Modularisierung? Seite 2 bisher Programm komplett in einer Datei längere

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

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,

Mehr

Programmierkurs Java

Programmierkurs Java Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen

Mehr

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter Die Programmiersprache Java Dr. Wolfgang Süß Thorsten Schlachter Eigenschaften von Java Java ist eine von der Firma Sun Microsystems entwickelte objektorientierte Programmiersprache. Java ist......a simple,

Mehr

How to do? Projekte - Zeiterfassung

How to do? Projekte - Zeiterfassung How to do? Projekte - Zeiterfassung Stand: Version 4.0.1, 18.03.2009 1. EINLEITUNG...3 2. PROJEKTE UND STAMMDATEN...4 2.1 Projekte... 4 2.2 Projektmitarbeiter... 5 2.3 Tätigkeiten... 6 2.4 Unterprojekte...

Mehr

Archiv - Berechtigungen

Archiv - Berechtigungen Archiv - Berechtigungen - 1 Inhaltsverzeichnis 1. Grunddefinitionen...3 1.1. Mögliche Definitionen...3 1.1.1. Programme...3 1.1.2. Prinzipale...3 1.1.3 Archivzugriff...3 1.2. Leserichtung...3 1.2.1. Ordnerbezogen...3

Mehr

Artikel Schnittstelle über CSV

Artikel Schnittstelle über CSV Artikel Schnittstelle über CSV Sie können Artikeldaten aus Ihrem EDV System in das NCFOX importieren, dies geschieht durch eine CSV Schnittstelle. Dies hat mehrere Vorteile: Zeitersparnis, die Karteikarte

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:

Mehr

Whitepaper. Produkt: combit Relationship Manager / address manager. Dateiabgleich im Netzwerk über Offlinedateien

Whitepaper. Produkt: combit Relationship Manager / address manager. Dateiabgleich im Netzwerk über Offlinedateien combit GmbH Untere Laube 30 78462 Konstanz Whitepaper Produkt: combit Relationship Manager / address manager Dateiabgleich im Netzwerk über Offlinedateien Dateiabgleich im Netzwerk über Offlinedateien

Mehr

DLLs (dynamic loaded libraries) mit MingW erstellen

DLLs (dynamic loaded libraries) mit MingW erstellen DLLs (dynamic loaded libraries) mit MingW erstellen Autor: Michel D. Schmid Datum: April 2, 2009 Contents 1 Einführung 1 1.1 Open-Source Tools.......................................... 1 2 Beispiel 1:

Mehr

Objektbasierte Entwicklung

Objektbasierte Entwicklung Embedded Software Objektbasierte Entwicklung Objektorientierung in C? Prof. Dr. Nikolaus Wulff Objektbasiert entwickeln Ohne C++ wird meist C im alten Stil programmiert. => Ein endlose while-schleife mit

Mehr

Einführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition

Einführung zum Arbeiten mit Microsoft Visual C++ 2010 Express Edition In den nachfolgenden Schritten finden Sie beschrieben, wie Sie in der Entwicklungsumgebung Microsoft Visual Studio 2010 eine Projektmappe, ein Projekt und einen ersten Quellcode erstellen, diesen kompilieren,

Mehr

Visual Basic Express Debugging

Visual Basic Express Debugging Inhalt Dokument Beschreibung... 1 Projekt vorbereiten... 1 Verknüpfung zu Autocad/ProStructures einstellen... 2 Debugging... 4 Autocad/ProSteel Beispiel... 5 Dokument Beschreibung Debuggen nennt man das

Mehr

Benutzerverwaltung Business- & Company-Paket

Benutzerverwaltung Business- & Company-Paket Benutzerverwaltung Business- & Company-Paket Gemeinsames Arbeiten mit der easyfeedback Umfragesoftware. Inhaltsübersicht Freischaltung des Business- oder Company-Paketes... 3 Benutzerverwaltung Business-Paket...

Mehr

Microsoft Access 2013 Navigationsformular (Musterlösung)

Microsoft Access 2013 Navigationsformular (Musterlösung) Hochschulrechenzentrum Justus-Liebig-Universität Gießen Microsoft Access 2013 Navigationsformular (Musterlösung) Musterlösung zum Navigationsformular (Access 2013) Seite 1 von 5 Inhaltsverzeichnis Vorbemerkung...

Mehr

Informatik 1 Tutorial

Informatik 1 Tutorial ETH Zürich, D-INFK/D-BAUG Herbstsemester 2014 Dr. Martin Hirt Christian Badertscher Informatik 1 Tutorial Dieses Tutorial hat zum Ziel, die notwendigen Tools auf dem eigenen Computer zu installieren, so

Mehr

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders

Mehr

Java-Tutorium WS 09/10

Java-Tutorium WS 09/10 Tutorial: Eclipse Debugger Was ist der Eclipse Debugger? Die Eclipse Plattform stellt einige sehr hilfreiche Features zum Programmieren bereit. Eines dieser Features ist der Debugger. Mithilfe des Debuggers

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 Compiler-Chain (Vom Quellcode zum ausführbaren Programm)" Christof Elbrechter Neuroinformatics Group, CITEC April 24, 2014 Christof Elbrechter Praxisorientierte

Mehr

Java Einführung Programmcode

Java Einführung Programmcode Java Einführung Programmcode Inhalt dieser Einheit Programmelemente Der erste Programmcode Die Entwicklungsumgebung: Sun's Java Software Development Kit (SDK) Vom Code zum Ausführen des Programms 2 Wiederholung:

Mehr

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur Unterprogramme Unterprogramme sind abgekapselte Programmfragmente, welche es erlauben, bestimmte Aufgaben in wiederverwendbarer Art umzusetzen. Man unterscheidet zwischen Unterprogrammen mit Rückgabewert

Mehr

Hex Datei mit Atmel Studio 6 erstellen

Hex Datei mit Atmel Studio 6 erstellen Hex Datei mit Atmel Studio 6 erstellen Es werden generell keine Atmel Studio Dateien ins Repository geladen, da jeder seine Dateien an anderen Orten liegen hat und weil nicht jeder das Atmel Studio 6 benutzt.

Mehr

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline

INDEX. Öffentliche Ordner erstellen Seite 2. Offline verfügbar einrichten Seite 3. Berechtigungen setzen Seite 7. Öffentliche Ordner Offline Öffentliche Ordner Offline INDEX Öffentliche Ordner erstellen Seite 2 Offline verfügbar einrichten Seite 3 Berechtigungen setzen Seite 7 Erstelldatum 12.08.05 Version 1.1 Öffentliche Ordner Im Microsoft

Mehr

Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API).

Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API). Paketdeklaration Paketdeklaration package Bezeichner ; Pakete dienen dazu, die Software eines Projektes in größere inhaltlich zusammengehörige Bereiche mit eigenem Namen einzuteilen (siehe Java API). Ein

Mehr

! " # $ " % & Nicki Wruck worldwidewruck 08.02.2006

!  # $  % & Nicki Wruck worldwidewruck 08.02.2006 !"# $ " %& Nicki Wruck worldwidewruck 08.02.2006 Wer kennt die Problematik nicht? Die.pst Datei von Outlook wird unübersichtlich groß, das Starten und Beenden dauert immer länger. Hat man dann noch die.pst

Mehr

Wichtig ist die Originalsatzung. Nur was in der Originalsatzung steht, gilt. Denn nur die Originalsatzung wurde vom Gericht geprüft.

Wichtig ist die Originalsatzung. Nur was in der Originalsatzung steht, gilt. Denn nur die Originalsatzung wurde vom Gericht geprüft. Das ist ein Text in leichter Sprache. Hier finden Sie die wichtigsten Regeln für den Verein zur Förderung der Autonomie Behinderter e. V.. Das hier ist die Übersetzung der Originalsatzung. Es wurden nur

Mehr

Internet Explorer Version 6

Internet Explorer Version 6 Internet Explorer Version 6 Java Runtime Ist Java Runtime nicht installiert, öffnet sich ein PopUp-Fenster, welches auf das benötigte Plugin aufmerksam macht. Nach Klicken auf die OK-Taste im PopUp-Fenster

Mehr

Grundlagen von Python

Grundlagen von Python Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren

Mehr

Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012

Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012 WS 2011/2012 Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012 Prof. Dr. Robert Lorenz Musterlösung zur Vorlesung Informatik I, Extrablatt zu komplexen Datenstrukturen Aufgabe 45 **

Mehr

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen.

Datenbank-Verschlüsselung mit DbDefence und Webanwendungen. Datenbank-Verschlüsselung mit DbDefence und Webanwendungen. In diesem Artikel werden wir Ihnen zeigen, wie Sie eine Datenbank verschlüsseln können, um den Zugriff einzuschränken, aber trotzdem noch eine

Mehr

FORUM HANDREICHUNG (STAND: AUGUST 2013)

FORUM HANDREICHUNG (STAND: AUGUST 2013) FORUM HANDREICHUNG (STAND: AUGUST 2013) Seite 2, Forum Inhalt Ein Forum anlegen... 3 Forumstypen... 4 Beiträge im Forum schreiben... 5 Beiträge im Forum beantworten... 6 Besondere Rechte der Leitung...

Mehr

MetaQuotes Empfehlungen zum Gebrauch von

MetaQuotes Empfehlungen zum Gebrauch von MetaQuotes Empfehlungen zum Gebrauch von MetaTrader 4 auf Mac OS Auch wenn viele kommerzielle Angebote im Internet existieren, so hat sich MetaQuotes, der Entwickler von MetaTrader 4, dazu entschieden

Mehr

Installation OMNIKEY 3121 USB

Installation OMNIKEY 3121 USB Installation OMNIKEY 3121 USB Vorbereitungen Installation PC/SC Treiber CT-API Treiber Einstellungen in Starke Praxis Testen des Kartenlesegeräts Vorbereitungen Bevor Sie Änderungen am System vornehmen,

Mehr

Informatik für Schüler, Foliensatz 21 Objektorientierte Programmierung

Informatik für Schüler, Foliensatz 21 Objektorientierte Programmierung rof. G. Kemnitz Institut für Informatik, Technische Universität Clausthal 23. April 2009 1/14 Informatik für Schüler, Foliensatz 21 Objektorientierte Programmierung Prof. G. Kemnitz Institut für Informatik,

Mehr

Tipps und Tricks zu Netop Vision und Vision Pro

Tipps und Tricks zu Netop Vision und Vision Pro Tipps und Tricks zu Netop Vision und Vision Pro Anwendungen auf Schülercomputer freigeben und starten Netop Vision ermöglicht Ihnen, Anwendungen und Dateien auf allen Schülercomputern gleichzeitig zu starten.

Mehr

Einführung in die Programmierung

Einführung in die Programmierung : Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte

Mehr

Dokumentenverwaltung im Internet

Dokumentenverwaltung im Internet Dokumentenverwaltung im Internet WS 09/10 mit: Thema: Workflow und Rollenverteilung im Backend Gruppe: DVI 10 Patrick Plaum und Kay Hofmann Inhalt 1. Benutzer und Benutzergruppen erstellen...2 1.1. Benutzergruppen...2

Mehr

MailUtilities: Remote Deployment - Einführung

MailUtilities: Remote Deployment - Einführung MailUtilities: Remote Deployment - Einführung Zielsetzung Die Aufgabe von Remote Deployment adressiert zwei Szenarien: 1. Konfiguration der MailUtilities von einer Workstation aus, damit man das Control

Mehr

Version 0.3. Installation von MinGW und Eclipse CDT

Version 0.3. Installation von MinGW und Eclipse CDT Version 0.3 Installation von MinGW und Eclipse CDT 1. Stellen Sie fest, ob Sie Windows in der 32 Bit Version oder in der 64 Bit Version installiert haben. 2. Prüfen Sie, welche Java Runtime vorhanden ist.

Mehr

Arbeiten mit dem Outlook Add-In

Arbeiten mit dem Outlook Add-In Arbeiten mit dem Outlook Add-In Das Outlook Add-In ermöglicht Ihnen das Speichern von Emails im Aktenlebenslauf einer Akte. Außerdem können Sie Namen direkt aus BS in Ihre Outlook-Kontakte übernehmen sowie

Mehr

Informationen zur Verwendung von Visual Studio und cmake

Informationen zur Verwendung von Visual Studio und cmake Inhaltsverzeichnis Informationen zur Verwendung von Visual Studio und cmake... 2 Erste Schritte mit Visual Studio... 2 Einstellungen für Visual Studio 2013... 2 Nutzung von cmake... 6 Installation von

Mehr

Kurzanleitung zu XML2DB

Kurzanleitung zu XML2DB Kurzanleitung zu XML2DB Inhaltsverzeichnis 1. Einleitung...3 2. Entwicklungsumgebung...3 3. Betriebsanleitung...3 3.1 Einrichten der Java Umgebung...3 3.2 Allgemeines zu java und javac...4 3.2.1 Allgemeines

Mehr

ecaros2 - Accountmanager

ecaros2 - Accountmanager ecaros2 - Accountmanager procar informatik AG 1 Stand: FS 09/2012 Inhaltsverzeichnis 1 Aufruf des ecaros2-accountmanager...3 2 Bedienung Accountmanager...4 procar informatik AG 2 Stand: FS 09/2012 1 Aufruf

Mehr

Leichte-Sprache-Bilder

Leichte-Sprache-Bilder Leichte-Sprache-Bilder Reinhild Kassing Information - So geht es 1. Bilder gucken 2. anmelden für Probe-Bilder 3. Bilder bestellen 4. Rechnung bezahlen 5. Bilder runterladen 6. neue Bilder vorschlagen

Mehr

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER Abamsoft Finos in Verbindung mit der Webshopanbindung wurde speziell auf die Shop-Software shop to date von DATA BECKER abgestimmt. Mit

Mehr

Support-Tipp Mai 2010 - Release Management in Altium Designer

Support-Tipp Mai 2010 - Release Management in Altium Designer Support-Tipp Mai 2010 - Release Management in Altium Designer Mai 2010 Frage: Welche Aufgaben hat das Release Management und wie unterstützt Altium Designer diesen Prozess? Zusammenfassung: Das Glück eines

Mehr

Starten der Software unter Windows 7

Starten der Software unter Windows 7 Starten der Software unter Windows 7 Im Folgenden wird Ihnen Schritt für Schritt erklärt, wie Sie Ihr persönliches CONTOUR NEXT USB auf dem Betriebssystem Ihrer Wahl starten und benutzen. Schritt 1. Stecken

Mehr

Update von Campus-Datenbanken (FireBird) mit einer Version kleiner 9.6 auf eine Version größer 9.6

Update von Campus-Datenbanken (FireBird) mit einer Version kleiner 9.6 auf eine Version größer 9.6 Sommer Informatik GmbH Sepp-Heindl-Str.5 83026 Rosenheim Tel. 08031 / 24881 Fax 08031 / 24882 www.sommer-informatik.de [email protected] Update von Campus-Datenbanken (FireBird) mit einer Version

Mehr

Lizenzen auschecken. Was ist zu tun?

Lizenzen auschecken. Was ist zu tun? Use case Lizenzen auschecken Ihr Unternehmen hat eine Netzwerk-Commuterlizenz mit beispielsweise 4 Lizenzen. Am Freitag wollen Sie Ihren Laptop mit nach Hause nehmen, um dort am Wochenende weiter zu arbeiten.

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In

Mehr

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser Seite 1 von 14 Cookie-Einstellungen verschiedener Browser Cookie-Einstellungen verschiedener Browser, 7. Dezember 2015 Inhaltsverzeichnis 1.Aktivierung von Cookies... 3 2.Cookies... 3 2.1.Wofu r braucht

Mehr

Buddy - Algorithmus Handbuch für Endnutzer Stand 02.08.2005

Buddy - Algorithmus Handbuch für Endnutzer Stand 02.08.2005 Buddy - Algorithmus Handbuch für Endnutzer Stand 02.08.2005 1. Vorwort 1 2. Systemvoraussetzungen 2 3. Programmarten 2 4. Sicherheit der Endnutzer 2 5. Handhabung 3 5.1 allgemeine Programmübersicht 3 5.2

Mehr

Testen mit JUnit. Motivation

Testen mit JUnit. Motivation Test First Design for Test in Eclipse (eigentlich: ) zu einer Klasse Beispiel zur Demonstration Ergänzungen Test First "Immer dann, wenn Du in Versuchung kommst, etwas wie eine print- Anweisung oder einen

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift. Briefe Schreiben - Arbeiten mit Word-Steuerformaten Ab der Version 5.1 stellt die BüroWARE über die Word-Steuerformate eine einfache Methode dar, Briefe sowie Serienbriefe mit Hilfe der Korrespondenzverwaltung

Mehr

Java Kurs für Anfänger Einheit 4 Klassen und Objekte

Java Kurs für Anfänger Einheit 4 Klassen und Objekte Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse

Mehr

Tipps und Tricks zu Netop Vision und Vision Pro

Tipps und Tricks zu Netop Vision und Vision Pro Tipps und Tricks zu Netop Vision und Vision Pro Zulassen, filtern, sperren: Das Internet im Unterricht gezielt einsetzen Das Internet ist ein dynamisches Gebilde, das viel Potenzial für den Unterricht

Mehr

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten

Mehr

Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht:

Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht: Beiträge erstellen in Joomla Nach der Anmeldung im Backend Bereich landen Sie im Kontrollzentrum, welches so aussieht: Abbildung 1 - Kontrollzentrum Von hier aus kann man zu verschiedene Einstellungen

Mehr

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Roboter programmieren mit NXC für Lego Mindstorms NXT 1. Auflage Roboter programmieren mit NXC für Lego Mindstorms NXT schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv Verlag

Mehr

Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb

Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb Installationsanleitung für CashPro im Mehrbenutzerzugriff/Netzwerkbetrieb CashPro basiert auf Accesstechnologie 2003 und ist auch unter den aktuellen Accessversionen 2007 bis 2013 einsetzbar und Mehrbenutzerfähig.

Mehr

Umstellung News-System auf cms.sn.schule.de

Umstellung News-System auf cms.sn.schule.de Umstellung News-System auf cms.sn.schule.de Vorbemerkungen Hinweis: Sollten Sie bisher noch kein News-System verwendet haben, nutzen Sie die Anleitung unter http://cms.sn.schule.de/admin/handbuch/grundlagen/page/25/

Mehr

Mediumwechsel - VR-NetWorld Software

Mediumwechsel - VR-NetWorld Software Mediumwechsel - VR-NetWorld Software Die personalisierte VR-NetWorld-Card wird mit einem festen Laufzeitende ausgeliefert. Am Ende der Laufzeit müssen Sie die bestehende VR-NetWorld-Card gegen eine neue

Mehr

Hier ist die Anleitung zum Flashen des MTK GPS auf der APM 2.0. Prinzipiell funktioniert es auch auf der APM 2.5 und APM 1.

Hier ist die Anleitung zum Flashen des MTK GPS auf der APM 2.0. Prinzipiell funktioniert es auch auf der APM 2.5 und APM 1. Hier ist die Anleitung zum Flashen des MTK GPS auf der APM 2.0. Prinzipiell funktioniert es auch auf der APM 2.5 und APM 1. Vorweg: Die neue MTK Firmware 1.9 (AXN1.51_2776_3329_384.1151100.5_v19.bin) ist

Mehr

Propädeutikum. Dipl.-Inf. Frank Güttler

Propädeutikum. Dipl.-Inf. Frank Güttler Propädeutikum 2015 Vorbereitungskurs Informatikstudium Erfolgreich Studieren Programmieren (C-Kurs) [email protected] Universität Leipzig Institut für Informatik Technische Informatik

Mehr

Backup-Server einrichten

Backup-Server einrichten Einsteiger Fortgeschrittene Profis [email protected] Version.0 Voraussetzungen für diesen Workshop. Die M-Quest Suite 2005-M oder höher ist auf diesem Rechner installiert 2. Das Produkt M-Lock ist

Mehr

Informations- und Kommunikationsinstitut der Landeshauptstadt Saarbrücken. Upload- / Download-Arbeitsbereich

Informations- und Kommunikationsinstitut der Landeshauptstadt Saarbrücken. Upload- / Download-Arbeitsbereich Informations- und Kommunikationsinstitut der Landeshauptstadt Saarbrücken Upload- / Download-Arbeitsbereich Stand: 27.11.2013 Eine immer wieder gestellte Frage ist die, wie man große Dateien austauschen

Mehr

Die Dateiablage Der Weg zur Dateiablage

Die Dateiablage Der Weg zur Dateiablage Die Dateiablage In Ihrem Privatbereich haben Sie die Möglichkeit, Dateien verschiedener Formate abzulegen, zu sortieren, zu archivieren und in andere Dateiablagen der Plattform zu kopieren. In den Gruppen

Mehr

Inhalt. meliarts. 1. Allgemeine Informationen... 2 2. Administration... 2 2.1 Aufruf... 2 2.2 Das Kontextmenü... 3 3. E-Mail Vorlagen...

Inhalt. meliarts. 1. Allgemeine Informationen... 2 2. Administration... 2 2.1 Aufruf... 2 2.2 Das Kontextmenü... 3 3. E-Mail Vorlagen... Inhalt 1. Allgemeine Informationen... 2 2. Administration... 2 2.1 Aufruf... 2 2.2 Das Kontextmenü... 3 3. E-Mail Vorlagen... 4 Seite 1 von 7 meliarts 1. Allgemeine Informationen meliarts ist eine Implementierung

Mehr

Schrittweise Anleitung zur Installation von Zertifikaten der Bayerischen Versorgungskammer im Mozilla Firefox ab Version 2.0

Schrittweise Anleitung zur Installation von Zertifikaten der Bayerischen Versorgungskammer im Mozilla Firefox ab Version 2.0 Schrittweise Anleitung zur Installation von Zertifikaten der Bayerischen Versorgungskammer im Mozilla Firefox ab Version 2.0 Diese Anleitung führt Sie Schritt für Schritt durch die komplette Installationsprozedur

Mehr

Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper ([email protected])

Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu) HMExcel Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper ([email protected]) Inhalt 1. Einleitung...1 2. Beispiele...2 2.1. Daten in ein Tabellenblatt schreiben...2

Mehr

SEMINAR Modifikation für die Nutzung des Community Builders

SEMINAR Modifikation für die Nutzung des Community Builders 20.04.2010 SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung ecktion SEMINAR Modifikation für die Nutzung des Community Builders Step by Step Anleitung Bevor Sie loslegen

Mehr

Tevalo Handbuch v 1.1 vom 10.11.2011

Tevalo Handbuch v 1.1 vom 10.11.2011 Tevalo Handbuch v 1.1 vom 10.11.2011 Inhalt Registrierung... 3 Kennwort vergessen... 3 Startseite nach dem Login... 4 Umfrage erstellen... 4 Fragebogen Vorschau... 7 Umfrage fertigstellen... 7 Öffentliche

Mehr

Um eine fehlerfreie Installation zu gewährleisten sollte vor der Installation der Virenscanner deaktiviert werden.

Um eine fehlerfreie Installation zu gewährleisten sollte vor der Installation der Virenscanner deaktiviert werden. Update SFirm 3 von Vorgängerversionen Mit dem neuen großen Versionssprung auf die Version 3 erhält SFirm eine neue Oberfläche und weitere Funktionen. Besonders die Bearbeitung von SEPA-Lastschriften wurde

Mehr

Tutorial: Wie kann ich Dokumente verwalten?

Tutorial: Wie kann ich Dokumente verwalten? Tutorial: Wie kann ich Dokumente verwalten? Im vorliegenden Tutorial lernen Sie, wie Sie in myfactory Dokumente verwalten können. Dafür steht Ihnen in myfactory eine Dokumenten-Verwaltung zur Verfügung.

Mehr

2. Hintergrundverarbeitung in Android: Services und Notifications

2. Hintergrundverarbeitung in Android: Services und Notifications 2. Hintergrundverarbeitung in Android: Services und Notifications Übersicht 2. Hintergrundverarbeitung in Android: Services und Notifications Übersicht: In Mobis 1: Threads; hier genauerer Blick auf Services

Mehr

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können.

Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Excel-Schnittstelle Im Folgenden wird Ihnen an einem Beispiel erklärt, wie Sie Excel-Anlagen und Excel-Vorlagen erstellen können. Voraussetzung: Microsoft Office Excel ab Version 2000 Zum verwendeten Beispiel:

Mehr