martin GRÄFE C UND LINUX DIE MÖGLICHKEITEN DES BETRIEBSSYSTEMS MIT EIGENEN PROGRAMMEN NUTZEN 4. Auflage

Größe: px
Ab Seite anzeigen:

Download "martin GRÄFE C UND LINUX DIE MÖGLICHKEITEN DES BETRIEBSSYSTEMS MIT EIGENEN PROGRAMMEN NUTZEN 4. Auflage"

Transkript

1 martin GRÄFE C UND LINUX DIE MÖGLICHKEITEN DES BETRIEBSSYSTEMS MIT EIGENEN PROGRAMMEN NUTZEN 4. Auflage

2 Gräfe C und Linux C vbleiben Sie einfach auf dem Laufenden: Sofort anmelden und Monat für Monat die neuesten Infos und Updates erhalten.

3

4 Martin Gräfe C und Linux Die Möglichkeiten des Betriebssystems mit eigenen Programmen nutzen 4., vollständig überarbeitete und erweiterte Auflage

5 Dr.-Ing. Martin Gräfe, geboren 1968 in Hagen, studierte Elektrotechnik an der Universität Dortmund. Dort war er nach Abschluss des Studiums als wissenschaftlicher Mitarbeiter tätig und promovierte 1998 auf dem Gebiet der Mikroelektronik. Bereits während des Studiums befasste sich Martin Gräfe mit C-Programmierung unter Unix und seit 1995 schließlich auch mit Linux. Im Rahmen seiner Promotion und seiner Tätigkeit als Ingenieur entwickelte er verschiedene Programme zur Simulation elektronischer Schaltungen und Übertragungssysteme. Alle in diesem Buch enthaltenen Informationen, Verfahren und Darstellungen wurden nach bestem Wissen zusammengestellt und mit Sorgfalt getestet. Dennoch sind Fehler nicht ganz auszuschließen. Aus diesem Grund sind die im vorliegenden Buch enthaltenen Informationen mit keiner Verpflichtung oder Garantie irgendeiner Art verbunden. Autoren und Verlag übernehmen infolgedessen keine juristische Verantwortung und werden keine daraus folgende oder sonstige Haftung übernehmen, die auf irgendeine Art aus der Benutzung dieser Informationen oder Teilen davon entsteht, auch nicht für die Verletzung von Patentrechten und anderen Rechten Dritter, die daraus resultieren könnten. Autoren und Verlag übernehmen deshalb keine Gewähr dafür, dass die beschriebenen Verfahren frei von Schutzrechten Dritter sind. Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Buch berechtigt deshalb auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz-Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt werden dürften. Bibliografische Information der Deutschen Nationalbibliothek: Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über abrufbar. Dieses Werk ist urheberrechtlich geschützt. Alle Rechte, auch die der Übersetzung, des Nachdruckes und der Vervielfältigung des Buches, oder Teilen daraus, vorbehalten. Kein Teil des Werkes darf ohne schriftliche Genehmigung des Verlages in irgendeiner Form (Fotokopie, Mikrofilm oder ein anderes Verfahren) auch nicht für Zwecke der Unterrichtsgestaltung reproduziert oder unter Verwendung elektronischer Systeme verarbeitet, vervielfältigt oder verbreitet werden Carl Hanser Verlag München Wien (www.hanser.de) Lektorat: Margarete Metzger Herstellung: Irene Weilhart Copy editing: Manfred Sommer, München Umschlagdesign: Marc Müller-Bremer, München Umschlagrealisation: Stephan Rönigk Datenbelichtung, Druck und Bindung: Kösel, Krugzell Ausstattung patentrechtlich geschützt. Kösel FD 351, Patent-Nr Printed in Germany ISBN

6 Inhaltsverzeichnis 1 Einführung Warum gerade C? Bevor es losgeht Paketverwaltung unter SuSE-Linux Paketinstallation bei Ubuntu Die Werkzeuge Der Editor die Qual der Wahl Der GNU C-Compiler gcc Ablaufsteuerung mit GNU make Für die Fehlersuche: Die Debugger Integrierte Entwicklungsumgebungen Der Umgang mit Compiler, Debugger und make anhand von Beispielen Primzahlen berechnen Fehlersuche mit dem gcc Fehlersuche mit dem GNU Debugger Funktionsbibliotheken verwenden Quelltexte aufteilen Weiterführende Informationen Die Unix-Online-Hilfen man, xman und tkman Ein Blick hinter die Kulissen: Die Include-Dateien Arbeiten mit einer Entwicklungsumgebung Anjuta Ein neues Projekt anlegen Eingabe der Quelltexte

7 VI Inhaltsverzeichnis Kompilieren und Starten des Beispiels KDevelop Eclipse + C Development Tooling (CDT) Plug-ins einbinden Ein neues Projekt anlegen Kommandozeilenprogramme Parameter und Rückgabewert der Funktion main() Die Bedeutung des Rückgabewertes von main() Die Variablen argc und argv Auswerten der Kommandozeilenparameter Achtung: Platzhalter! Konventionen für Kommandozeilenprogramme Ein Muss: Die Hilfe-Option Fehlermeldungen Eigene Manpages erstellen Programme mehrsprachig auslegen Ausgabesteuerung im Terminal-Fenster ANSI-Steuersequenzen Die ncurses -Bibliothek Dateien und Verzeichnisse Die Arbeit mit Dateien Gepufferte Ein-/Ausgabe stdin, stdout und stderr Dateien öffnen und schließen Lesen aus und Schreiben in Dateien Ein Beispiel: Zeilen nummerieren Eigenschaften von Dateien oder Verzeichnissen auswerten Verzeichnisse einlesen Interprozesskommunikation Prozessverwaltung unter Linux Neue Prozesse starten Shell-Programme aufrufen mit system() Die Funktionen der exec-familie

8 Inhaltsverzeichnis VII Einen Kind-Prozess erzeugen mit fork() Warteschleifen Signale Die Weckfunktion alarm() Einen Signal-Handler einrichten Auf die Beendigung eines Kind-Prozesses warten Signale setzen mit kill() Datenaustausch zwischen Prozessen Pipes FIFOs Shared Memory Alternative Verfahren zur Erzeugung von Prozessen popen() und pclose() Die fork()-alternative clone() POSIX-Threads Devices das Tor zur Hardware Das Device-Konzept von Linux Devices öffnen und schließen Ungepuffertes Lesen und Schreiben Devices steuern mit ioctl() Das CD-ROM-Laufwerk Die CD auswerfen Fähigkeiten des Laufwerks auslesen Audio-CDs abspielen Ansteuerung einer Soundkarte OSS, ALSA und ESOUND Der Mixer Audiodaten aufnehmen und wiedergeben Video for Linux Eigenschaften des Devices Bilder aufzeichnen Die serielle Schnittstelle Terminal-Parameter einstellen Ein kleines Terminalprogramm Druckerausgaben

9 VIII Inhaltsverzeichnis 6.7 Der Universal Serial Bus (USB) Ansteuerung von USB-Geräten anhand eines Beispiels Netzwerkprogrammierung Einführung Begriffe Vorbereitung Das Client-Server-Prinzip Sockets Der TCP/IP-Client Aufbau einer Verbindung Ein Universal -Client Rechnernamen in IP-Adressen umwandeln Server-Programme Die Funktionsweise eines Servers Ein interaktiver TCP/IP-Server Ein kleiner Webserver Das User Datagram Protocol (UDP) UDP-Nachrichten senden Der UDP-Server Pakete an alle Teilnehmer senden: Broadcast Multicast-Sockets UPnP Universal Plug And Play Noch ein Wort zur Sicherheit Grafische Benutzeroberflächen Die grafische Oberfläche X Das Toolkit GTK GTK 1.2 versus GTK GTK-Programme übersetzen Ein erstes Beispiel Das Callback-Prinzip Schaltflächen (Buttons) Hinweistexte (Tipps) Widgets anordnen Text-Labels

10 Inhaltsverzeichnis IX Dialogfenster Auswahlfelder Eingabefelder für Text und Zahlen Menüs Pixmap-Grafiken darstellen Zeichenflächen Zeichenfläche mit Rollbalken Dateiauswahlfenster Umlaute und Sonderzeichen Wie geht es weiter? Grafik ohne X11 mit der SVGALIB Besonderheiten beim Arbeiten mit der libvga Ein erstes Beispiel Mit Perspektive: 3D-Funktionen zeichnen Ein kleines Malprogramm Erweiterte Funktionen mit der libvgagl Weitere Informationsquellen Hardware-Programmierung Hardware-nahe Programme schreiben Eigene Programme mit root-rechten ausstatten Zugriff auf I/O-Ports freischalten Zugriff auf die I/O-Ports Ansteuerung des Parallelports Beschreibung des Parallelports Die Adresse des Parallelports suchen Ein Beispiel: LED-Lauflicht Modem-Steuerleitungen abfragen Beispielprojekte WebCam: Video-Übertragung per HTTP Wie die Bilder laufen lernen Strukturierung der Quelltexte Die HTTP-Authentifizierung Telefonbuch mit automatischer Anwahl Ziel des Projektes

11 X Inhaltsverzeichnis Strukturierung des Projektes Das Hauptprogramm Funktionen zur Ansteuerung des Modems Die Benutzerschnittstelle To Do Anhang A1 Daten zum Buch im Internet A2 Das X11-Toolkit XView A3 Aufbau einer WAV-Audiodatei A4 Aufbau einer AU-Audiodatei A5 Linux-Programmierung unter Windows: Cygwin Literaturverzeichnis Stichwortverzeichnis

12 Vorwort Seit der 1. Auflage dieses Buches sind nun fast acht Jahre vergangen. In dieser Zeit hat sich Linux auf verschiedenen Gebieten weiterentwickelt: Für den Anwender ist die Unterstützung von USB- und anderen Plug&Play-Geräten hinzugekommen, für den Programmierer hat eine Standardisierung der unterschiedlichen Linux-Distributionen stattgefunden; es wurde die so genannte Linux Standard Base (kurz LSB) entwickelt. Beiden Entwicklungen wird in dieser 4. Auflage Rechnung getragen. Sämtliche Quelltexte wurden an die LSB angepasst und das Kapitel über die Ansteuerung von Geräten wurde um das Thema USB erweitert. Darüber hinaus sind in dem Kapitel Netzwerkprogrammierung Beispiele zu UDP, Broadcast und Multicast ergänzt worden. Dieses Buch wendet sich sowohl an den Programmier-Einsteiger, der Grundkenntnisse in der Programmiersprache C besitzt, als auch an den fortgeschrittenen Programmierer, der die vielfältigen Möglichkeiten des Betriebssystems in eigenen Programmen nutzen möchte. Dabei geht es vor allem um die Linuxspezifischen Themen, wie z. B. die Ansteuerung von Devices. Durch zahlreiche einfache Beispielprogramme soll der Einstieg in diese Themen erleichtert werden. Als Programmiersprache kommt ausschließlich ANSI-C zum Einsatz. Haiger, im Frühjahr 2010 Martin Gräfe

13

14 Kapitel 1 Einführung 1.1 Warum gerade C? Unter Linux ist mittlerweile eine Vielzahl von Programmiersprachen verfügbar, angefangen von Pascal und Fortran über Skript- oder Interpretersprachen wie TCL und Perl bis hin zu objektorientierten Compilersprachen wie C++ und Java. Jede dieser Programmiersprachen hat ihre Vor- und Nachteile, C kommt jedoch eine besondere Bedeutung zu, da fast das gesamte Betriebssystem in ANSI-C geschrieben ist. 1 Mit den Kernel-Quellen stehen dadurch sämtliche für die systemnahe Programmierung erforderlichen Include-Dateien unter C zur Verfügung. Aus diesem Grund lassen sich die Möglichkeiten des Betriebssystems (und der Hardware) mit C so vollständig wie mit keiner anderen Programmiersprache nutzen. 2 Da C eine kompakte, relativ maschinennahe Programmiersprache ist, sind C- Programme effizient und schonen die System-Ressourcen. Für das Ausführen der Programme ist weder ein Interpreter noch eine Laufzeitumgebung wie bei Java erforderlich. Trotzdem sind die Quelltexte portabel viele der Beispielprogramme in diesem Buch laufen auch unter kommerziellen Unix-Varianten (z. B. Solaris von Sun oder HPUX von Hewlett Packard) und mit Cygwin 3 sogar unter Windows TM. Mit den Kernel-Quellen und vielen Open Source-Programmen hat der Programmierer Zugriff auf eine nahezu unbegrenzte Menge an Quelltexten, aus denen er sich den einen oder anderen Programmierkniff abschauen kann und darf. Denn in der Welt der offenen Quelltexte muss zum Glück das Rad nicht immer wieder neu erfunden werden. 1 Mit Ausnahme einiger Hardware-naher oder zeitkritischer Programmteile, die in Assembler programmiert wurden. 2 Außer vielleicht in Assembler, was aber keine echte Alternative zu Hochsprachen darstellt. 3 siehe Anhang A5 ab Seite 317

15 2 1 Einführung 1.2 Bevor es losgeht müssen die notwendigen Tools und Dateien installiert sein. In der Anfangszeit von Linux, als man nach der Installation erst einmal den Kernel nach eigenen Wünschen neu kompilierte, waren die Werkzeuge für die C-Programmierung fester Bestandteil der Linux-Distributionen und wurden in der Regel automatisch mit installiert. Inzwischen ist das Kompilieren des Kernels dank der Modularisierung nicht mehr notwendig, und so werden bei vielen Distributionen die Pakete zur Software-Entwicklung nicht mehr automatisch installiert. Bei einigen auf CD erhältlichen Distributionen sind diese Pakete nicht einmal mehr enthalten, sondern müssen aus dem Internet nachgeladen werden. Um die Beispiele in diesem Buch übersetzen zu können, benötigen Sie das Paket mit dem C-Compiler gcc sowie das Programm make. Außerdem werden für das Einbinden von Funktionsbibliotheken in eigene Programme die zugehörigen Include-Dateien benötigt, die häufig in separaten Paketen enthalten sind. Beispiel: Die Funktionsbibliothek libncurses wird bei den meisten Distributionen als Voreinstellung installiert. Wenn Sie diese Bibliothek in einem eigenen Programm benutzen wollen, benötigen Sie zusätzlich das zugehörige Entwicklungspaket. Je nach Distribution heißt dieses Paket beispielsweise ncurses-dev-version oder ncurses-devel-version. Im Folgenden soll exemplarisch für die Distributionen SuSE und Ubuntu gezeigt werden, wie Pakete nachinstalliert werden können Paketverwaltung unter SuSE-Linux In der Linux-Distribution von SuSE 1 ist das Tool YaST (Abkürzung für Yet Another Setup Tool ) enthalten, das für alle wichtigen Systemeinstellungen zuständig ist. Dieses kann entweder aus dem Menü des Windowmanagers oder als Benutzer root aus einer Shell mit dem Kommando /sbin/yast2 aufgerufen werden. Durch einen Klick auf das Icon Software installieren oder löschen in der Rubrik Software wird die Paketverwaltung geöffnet (siehe Abbildung 1.1). Findet man das gesuchte Paket nicht unter den angezeigten Paketgruppen, kann man den Filter (oben links) auf Suche umstellen und ein entsprechendes Stichwort eingeben. Die Pakete der Distribution von SuSE liegen im RPM-Format (Abkürzung für RedHat Packet Manager ) vor. Daher können einzelne Pakete auch mit dem Befehl rpm -i Paket-Datei installiert werden. 1 SuSE steht für Software- und Systementwicklung. So heißt das kleine Unternehmen, das diese Distribution zusammenstellt und inzwischen von der Firma Novell aufgekauft wurde.

16 1.2 Bevor es losgeht... 3 Abbildung 1.1: Die Paketverwaltung unter SuSE mit YaST

17 4 1 Einführung Paketinstallation bei Ubuntu Ubuntu-Linux ist von der Linux-Distribution Debian abgeleitet und verwendet die gleichen Pakete. Anders als bei SuSE sind die Pakete daher im Debian-eigenen DEB-Format. Für die Auswahl und Installation der Pakete bringt der GNOME- Desktop unter Ubuntu ein spezielles Tool mit, das über das GNOME-Menü aufgerufen werden kann (siehe Abbildung 1.2). Abbildung 1.2: Öffnen der GNOME-Paketverwaltung bei Ubuntu-Linux In der Startansicht bietet das Werkzeug nur das Installieren oder Entfernen ganzer Anwendungen an, ohne die einzelnen Pakete im Detail aufzulisten. Über den Menüpunkt Datei/Erweitert lässt sich die Darstellung erweitern, sodass die einzelnen Pakete aufgelistet werden können (siehe Abbildung 1.3). Ähnlich wie bei YaST unter SuSE-Linux ist auch hier die Möglichkeit gegeben, nach bestimmten Paketen anhand von Stichworten zu suchen (Schaltfläche Suche unten links). Wenn Sie Pakete von Hand installieren wollen, so gibt es dafür bei Ubuntu zwei Kommandozeilenprogramme: apt-get und dbkg : sudo dpkg -i Paket-Datei sudo apt-get install Paket-Datei

18 1.2 Bevor es losgeht... 5 Abbildung 1.3: Erweiterte Ansicht für die GNOME-Paketverwaltung

19 6 1 Einführung 1.3 Die Werkzeuge In diesem Abschnitt stellen wir in kurzer Form die für das Programmieren erforderlichen Werkzeuge vor. In Abschnitt 1.4 wird der Umgang mit diesen Werkzeugen dann anhand von Beispielen erläutert. Den Schwerpunkt bilden dabei die für Unix und Linux üblichen Kommandozeilen-Tools. Den Umgang mit einer integrierten Entwicklungsumgebung beschreibt Kapitel Der Editor die Qual der Wahl Um ein Programm zu schreiben, benötigt man natürlich zunächst einen Editor, mit dem man den Quelltext eingibt. Bei Verwendung einer integrierten Entwicklungsumgebung (siehe Abschnitt 1.3.5) ist bereits ein solcher Editor in diese Umgebung eingebaut, doch viele Programmierer verwenden stattdessen ihren Lieblingseditor wovon es unter Linux eine ganze Menge gibt. Dabei kann man zwei Kategorien unterscheiden: Editoren, die auf der Konsole bzw. in einem Terminalfenster (wie XTerm) laufen, und Editoren, die über eine eigene grafische Benutzeroberfläche verfügen. Letztere sind in der Regel komfortabler, weil sie über Syntax-Highlighting verfügen, benötigen aber auch weit mehr Ressourcen. Editoren für die Textkonsole: vim (steht für VI improved ) emacs pico joe jedit... Editoren mit grafischer Oberfläche: kate (Bestandteil von KDE) gedit (Bestandteil von GNOME) nedit xemacs... Der Editor kate bietet außerdem die Möglichkeit, C-Funktionen einzuklappen, um den Quelltext übersichtlicher darzustellen (siehe Abbildung 1.4). Nicht alle hier erwähnten Editoren sind in jeder Linux-Distribution enthalten. Ggf. müssen die zugehörigen Pakete erst aus dem Internet geladen und gemäß Abschnitt 1.2 installiert werden.

20 1.3 Die Werkzeuge 7 Abbildung 1.4: Zwei Editoren für Programmierer: nedit und kate

21 8 1 Einführung Der GNU C-Compiler gcc Kernstück der Software-Entwicklung ist der C-Compiler selbst, also der gcc bzw. g++ (für C++-Programme). Der gcc ist ein so genannter Cross-Compiler, mit dem man im Grunde auch Programme für andere Betriebssysteme oder Hardware- Plattformen (also andere Prozessoren) entwickeln kann. Der einfachste Aufruf des Compilers lautet: gcc Quelltext So aufgerufen, wird der Quelltext kompiliert, assembliert und gelinkt, sodass ein ausführbares Programm entsteht. Dieses Programm wird voreingestellt unter dem Dateinamen a.out abgespeichert. In der Regel wird man diese Voreinstellung nicht verwenden, sondern einen anderen, zweckmäßigeren Namen wählen wollen. 1 Dies geschieht mit Hilfe der Option -o : gcc Quelltext -o Ausgabedatei Beispiel: gcc hello.c -o hello Bei diesem Aufruf führt der gcc zwei Schritte durch: das eigentliche Kompilieren (Übersetzen) und das Linken zu einem ausführbaren Programm. Letzterer sorgt z.b. dafür, dass Funktionsaufrufe wie printf() mit den entsprechenden Funktionen aus der dynamischen Bibliothek libc verknüpft werden. Wird ein Programm auf mehrere Quelltexte aufgeteilt, so müssen die einzelnen Programmteile zunächst nur übersetzt werden, ohne den Linker aufzurufen. Dazu wird beim Übersetzen die Option -c angegeben. Der Compiler erzeugt in diesem Fall nur eine Objektdatei, die automatisch die Endung.o erhält. Ein Beispiel hierzu findet sich in Abschnitt Der gcc besitzt eine Vielzahl weiterer Optionen, von denen wir in diesem Buch nur einen kleinen Teil benötigen. Eine vollständige Beschreibung erhält man mit man gcc. Die Reihenfolge der Parameter und Optionen ist beim gcc bis auf wenige Ausnahmen beliebig Ablaufsteuerung mit GNU make Für das Übersetzen kleinerer Programme benötigt man in der Regel nur den C- Compiler wie im vorherigen Abschnitt beschrieben. Bei umfangreicheren Projekten sollten Sie den Quelltext in mehrere Teile zerlegen. Dadurch werden die Dateien nicht nur übersichtlicher, es ist dann auch möglich, bei Änderungen nur diejenigen Dateien neu zu übersetzen, die geändert wurden. Genau hier setzt das 1 Sie sollten für erste Versuche nicht den Namen test wählen, da ein gleichnamiges Programm schon Bestandteil der Shell ist!

22 1.3 Die Werkzeuge 9 Programm make an. Es prüft, ob sich die Quellen eines Programmteils geändert haben, und übersetzt diesen Teil dann neu. Das Tool make benötigt dazu eine Datei, in der die Abhängigkeiten der Quellund Zieldateien und die Anweisungen (Compiler-Aufrufe) eingetragen sind. Ein Eintrag in dieser Datei, dem so genannten Makefile, sieht wie folgt aus: Zieldatei: Quelldatei1 Quelldatei2... Anweisung1 Anweisung2... Beispiel: hello: hello.c gcc hello.c -o hello Alle Anweisungszeilen müssen mit einem oder mehreren Tabulatoren ( echte Tabs, keine Leerzeichen!) eingerückt sein, während die Zieldatei immer am Zeilenanfang stehen muss. Eine solche Make-Datei kann beliebig viele Zieldateien mit den zugehörigen Quelldateien und Anweisungen enthalten. Zur Veranschaulichung sei auf das Beispiel in Abschnitt verwiesen. Wird die Make-Datei Makefile oder makefile genannt, so kann make ohne Parameter aufgerufen werden. Andernfalls lautet der Aufruf: make -f Make-Datei Sind in dem Makefile mehrere Zieldateien angegeben, kann durch die Eingabe von make Zieldatei gezielt eine dieser Dateien erzeugt werden, wobei make auch hier automatisch die Abhängigkeiten prüft und ggf. weitere, für die angegebene Zieldatei erforderliche Dateien neu erzeugt. Ohne Angabe der Zieldatei wird immer die erste Datei im Makefile erzeugt. An dieser Stelle sei noch darauf hingewiesen, dass es sich bei dem Ziel nicht unbedingt um eine Datei handeln muss. So findet sich in Makefiles häufig ein Eintrag der folgenden Form: clean: rm -f *.o Mit dem Aufruf make clean werden dann Objekt-Dateien, die man nicht mehr benötigt, gelöscht. Man beachte, dass hier keine Quelldateien angegeben sind, was dazu führt, dass die Anweisung immer ausgeführt wird. Für eine ausführliche Anleitung siehe auch man make.

23 10 1 Einführung Für die Fehlersuche: Die Debugger Nur selten läuft ein Programm auf Anhieb einwandfrei. Schnell schleichen sich Fehler ein, im Programmiererjargon Bugs (Wanzen 1 ) genannt. Zur Lokalisierung und Beseitigung der Bugs greift man zu einem Debugger (Entwanzer). Unter Linux hat der Programmierer in die Wahl zwischen dem textbasierten GNU Debugger gdb dem Urvater der Debugger unter Linux und verschiedenen grafischen Front-Ends. Ursprünglich gab es eine relativ rudimentäre grafische Oberfläche für den GNU Debugger namens xxgdb. Dieses Projekt wurde aber vor geraumer Zeit durch ein von Grund auf neu gestaltetes Tool ersetzt, den DDD (Abkürzung für Data Display Debugger, siehe Abbildung 1.5). Der DDD ist kein eigenständiger Debugger sondern eine grafische Benutzeroberfläche für den GNU Debugger gdb. Das Tool wurde übrigens in Deutschland entwickelt! Abbildung 1.5: Ein elektronischer Kammerjäger: der DDD Um einen Fehler in einem Programm mit Hilfe des Debuggers zu finden, muss das Programm Zusatzinformationen enthalten, mit deren Hilfe der Debugger das 1 Dieser Ausdruck stammt noch aus der Zeit der Relais-Computer. Hier hatte sich einmal eine Wanze zwischen die Relaiskontakte verirrt und dadurch Rechenfehler verursacht.

24 1.3 Die Werkzeuge 11 ausführbare Programm mit dem zugehörigen Quelltext in Verbindung bringen kann. Diese Zusatzinformationen fügt der gcc mit Hilfe der Option -g ein: gcc -g hello.c -o hello Anschließend kann der Debugger aufgerufen werden, z. B.: ddd hello Hier können Sie nun so genannte Breakpoints setzen, das Programm schrittweise ausführen und den Inhalt von Variablen anzeigen. Kommt es zur Laufzeit des Programms zu einem Fehler, der die Ausführung sofort abbricht beispielsweise eine Speicher-Zugriffsverletzung (Segmentation fault) oder eine Division durch null, so zeigt der Debugger die entsprechende Zeile im Quelltext an, die zu diesem Fehler geführt hat. Übrigens: nach erfolgreicher Fehlerbeseitigung lassen sich die für die Ausführung des Programms nicht notwendigen Debug-Zusatzinformationen mit strip hello wieder entfernen, ohne das Programm neu zu übersetzen. Dadurch reduziert sich die Größe des Programms offtmals erheblich Integrierte Entwicklungsumgebungen Als Alternative zur direkten Verwendung der bisher vorgestellten Werkzeuge gibt es die Möglichkeit, mit einer integrierten Entwicklungsumgebung 1 zu arbeiten. Dabei handelt es sich um ein Programm, das neben einem Quelltext-Editor auch eine grafische Schnittstelle für Compiler, Debugger usw. bietet. Insbesondere Umsteiger aus der Windows-Welt finden mit Hilfe solcher Programme häufig leichter den Einstieg in die Linux-Programmierung. Man sollte jedoch beachten, dass Entwicklungsumgebungen keine Compiler, sondern eben nur Umgebungen sind und zum Übersetzen und Linken des Quelltextes wieder auf den C-Compiler gcc zurückgreifen. Der Vorteil solcher Programme ist, dass das Wechseln zwischen den Werkzeugen Editor, Compiler, Debugger usw. entfällt. Tritt beispielsweise beim Übersetzen des Programms ein Fehler auf, wird automatisch die entsprechende Zeile im Quelltext markiert. 1 auch als IDE für Integrated Development Environment bezeichnet

25 12 1 Einführung Abbildung 1.6: KDevelop Entwicklungsumgebung des KDE Abbildung 1.7: Das Entwicklungs-Framework Eclipse

26 1.3 Die Werkzeuge 13 Abbildung 1.8: Die GNOME-Entwicklungsumgebung Anjuta Abbildung 1.9: Entwicklungsumgebung à la Turbo-Pascal: xwpe

27 14 1 Einführung Unter Linux sind verschiedene Entwicklungsumgebungen frei verfügbar; einige dieser Linux-IDEs sind: KDevelop (Entwicklungsumgebung des KDE), siehe Abbildung 1.6 Eclipse + C Development Tooling (kurz CDT), siehe Abbildung 1.7 Anjuta (Entwicklungswerkzeug des GNOME-Projektes), siehe Abbildung 1.8 xwpe (X-Window Programming Environment) Alle vier Programme sind mausgesteuert, menügeführt und mit einer mehr oder weniger umfangreichen Online-Hilfe ausgestattet, die über den entsprechenden Menüpunkt aufgerufen werden kann. Die aktuellen Versionen von KDevelop, Eclipse (inkl. CDT) und Anjuta sind recht umfangreich und benötigen mehr als 50 MByte. KDevelop bringt es mit den zugehörigen Dokumentationspaketen sogar auf mehrere 100 MByte ein Grund, bei nicht so leistungsstarken Rechnern doch auf die schlanken Kommandozeilen- Programme zurückzugreifen. Eine Ausnahme bildet das nicht so bekannte Tool xwpe (Abbildung 1.9), das deutlich weniger Ressourcen benötigt, aber auch nicht so komfortabel ist wie beispielsweise KDevelop. Die Entwicklungsumgebung Eclipse fällt etwas aus der Reihe: Das in Java programmierte Tool bildet eine Art Framework. Für die Entwicklung von Java-Programmen wird zusätzlich das Paket JDT (Java Development Tooling) benötigt, für C-Programme entsprechend das Paket CDT. In Kapitel 2 beschreiben wir die Arbeit mit einer integrierten Entwicklungsumgebung anhand der Programme Anjuta und KDevelop eingehender. 1.4 Der Umgang mit Compiler, Debugger und make anhand von Beispielen Häufig sagt ein Beispiel mehr als tausend Worte; auch bei der Beschreibung von Programmierwerkzeugen ist das nicht anders. Aus diesem Grund wird in den folgenden Abschnitten die Handhabung der zuvor beschriebenen Werkzeuge anhand einfacher Beispiele demonstriert Primzahlen berechnen Das folgende kleine C-Programm berechnet die Primzahlen von 1 bis 100, Zahlen also, die sich nur durch 1 und sich selbst teilen lassen. 1 Es soll im Folgenden dazu dienen, das Übersetzen und die Fehlersuche mit den bereits vorgestellten Programmierwerkzeugen zu verdeutlichen. 1 Mathematisch exakt betrachtet, sind Primzahlen diejenigen Zahlen, die genau zwei Teiler besitzen.

Inhaltsverzeichnis. Martin Gräfe. C und Linux. Die Möglichkeiten des Betriebssystems mit eigenen Programmen nutzen ISBN: 978-3-446-42176-9

Inhaltsverzeichnis. Martin Gräfe. C und Linux. Die Möglichkeiten des Betriebssystems mit eigenen Programmen nutzen ISBN: 978-3-446-42176-9 Martin Gräfe C und Linux Die Möglichkeiten des Betriebssystems mit eigenen Programmen nutzen ISBN: 978-3-446-42176-9 Weitere Informationen oder Bestellungen unter http://www.hanser.de/978-3-446-42176-9

Mehr

C und Linux. Martin Gräfe. Die Möglichkeiten des Betriebssystems mit eigenen Programmen nutzen ISBN 3-446-22973-6. Inhaltsverzeichnis

C und Linux. Martin Gräfe. Die Möglichkeiten des Betriebssystems mit eigenen Programmen nutzen ISBN 3-446-22973-6. Inhaltsverzeichnis C und Linux Martin Gräfe Die Möglichkeiten des Betriebssystems mit eigenen Programmen nutzen ISBN 3-446-22973-6 Inhaltsverzeichnis Weitere Informationen oder Bestellungen unter http://www.hanser.de/3-446-22973-6

Mehr

C und Linux HANSER. Martin Gräfe. Die Möglichkeiten des Betriebssystems mit eigenen Programmen nutzen. 3., aktualisierte Auflage

C und Linux HANSER. Martin Gräfe. Die Möglichkeiten des Betriebssystems mit eigenen Programmen nutzen. 3., aktualisierte Auflage Martin Gräfe 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. C und Linux Die Möglichkeiten des Betriebssystems mit

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

1. Einführung. 2. Vorbereitung zur Installation. 1.1 Eclipse

1. Einführung. 2. Vorbereitung zur Installation. 1.1 Eclipse 1. Einführung 1.1 Eclipse Die Eclipse ist eine kostenlose integrierte Entwicklungsumgebung oder auch IDE genannt, (Abkürzung IDE, engl. Integrated development enviroment). Sie ist eine grafische Benutzeroberfläche

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

Python Installation. 1 Vorbereitung. 1.1 Download. Diese Anleitung ist für Windows ausgelegt.

Python Installation. 1 Vorbereitung. 1.1 Download. Diese Anleitung ist für Windows ausgelegt. Python Installation 1 Vorbereitung Diese Anleitung ist für Windows ausgelegt. 1.1 Download Python kann online unter https://www.python.org/downloads/ heruntergeladen werden. Hinweis: Im CoderDojo verwenden

Mehr

Beispiel 2a Die eigenen ersten Schritte mit dem Gnu-Debugger GDB für Remote-Debugging

Beispiel 2a Die eigenen ersten Schritte mit dem Gnu-Debugger GDB für Remote-Debugging Beispiel 2a Die eigenen ersten Schritte mit dem Gnu-Debugger GDB für Remote-Debugging Das Beispiel orientiert sich am selben Code, der im Teil 1 der Serie verwendet wurde. Text Styles: Shell Prompt mit

Mehr

Kapitel 6,»Objektorientierte Programmierung«, widmet sich der objektorientierten Programmierung mit Python.

Kapitel 6,»Objektorientierte Programmierung«, widmet sich der objektorientierten Programmierung mit Python. 1.3 Aufbau des Buchs lichkeiten offen. Auf die Unterschiede der beiden Versionen gehe ich besonders ein, sodass ein späterer Umstieg von der einen zur anderen Version leichtfällt. Erste Zusammenhänge werden

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

Wie man eigene Programme erstellt

Wie man eigene Programme erstellt Kapitel 3 Wie man eigene Programme erstellt In diesem Kapitel geht es darum, sich mit einem Compiler vertraut zu machen. Dabei erfahren Sie, wie Sie eigene Programme auf den Systemen Windows und Linux

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

Installationsanleitung für R

Installationsanleitung für R Installationsanleitung für R R ist eine Programmiersprache und Statistiksoftware zur Analyse von Daten und deren graphischer Darstellung. Um in R zu programmieren, ist zunächst die R- Basissoftware zu

Mehr

Anleitung zum Archive Reader. ab Version 2029 WWW.REDDOXX.COM

Anleitung zum Archive Reader. ab Version 2029 WWW.REDDOXX.COM Anleitung zum Archive Reader ab Version 2029 WWW.REDDOXX.COM Inhaltsverzeichnis 1. Einführung...4 1.1. Ziel dieses Dokumentes...4 1.2. Zielgruppe für wen ist dieses Dokument bestimmt...4 1.3. Hauptpunkte...4

Mehr

Erste Schritte mit Eclipse

Erste Schritte mit Eclipse Erste Schritte mit Eclipse März 2008, KLK 1) Java Development Kit (JDK) und Eclipse installieren In den PC-Pools der HAW sind der JDK und Eclipse schon installiert und können mit dem Application Launcher

Mehr

GDI-Knoppix 4.0.2 - Erste Schritte. Werner Siedenburg werner.siedenburg@student.fh-nuernberg.de Stand: 04.05.2006

GDI-Knoppix 4.0.2 - Erste Schritte. Werner Siedenburg werner.siedenburg@student.fh-nuernberg.de Stand: 04.05.2006 GDI-Knoppix 4.0.2 - Erste Schritte Werner Siedenburg werner.siedenburg@student.fh-nuernberg.de Stand: 04.05.2006 Dieses Dokument beschreibt elementare Dinge im Umgang mit Knoppix. Knoppix ist ein "Live-Linux".

Mehr

Dokumentation QHMI Plug-In Manager

Dokumentation QHMI Plug-In Manager Dokumentation QHMI Plug-In Manager Version 2.0 Indi.Systems GmbH Universitätsallee 23 D-28359 Bremen info@indi-systems.de Tel + 49 421-989703-30 Fax + 49 421-989703-39 Inhaltsverzeichnis Inhaltsverzeichnis...

Mehr

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich

Mehr

VB.net Programmierung und Beispielprogramm für GSV

VB.net Programmierung und Beispielprogramm für GSV VB.net Programmierung und Beispielprogramm für GSV Dokumentation Stand vom 26.05.2011 Tel +49 (0)3302 78620 60, Fax +49 (0)3302 78620 69, info@me-systeme.de, www.me-systeme.de 1 Inhaltsverzeichnis Vorwort...2

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

Informatik I. Informatik I. 6.1 Programme. 6.2 Programme schreiben. 6.3 Programme starten. 6.4 Programme entwickeln. 6.1 Programme.

Informatik I. Informatik I. 6.1 Programme. 6.2 Programme schreiben. 6.3 Programme starten. 6.4 Programme entwickeln. 6.1 Programme. Informatik I 05. November 2013 6. Python-, kommentieren, starten und entwickeln Informatik I 6. Python-, kommentieren, starten und entwickeln Bernhard Nebel Albert-Ludwigs-Universität Freiburg 05. November

Mehr

Avantgarde www.avantgarde-vs.de. Avantgarde 3.0 User s Guide Benutzerhandbuch Guide de L utilisateur

Avantgarde www.avantgarde-vs.de. Avantgarde 3.0 User s Guide Benutzerhandbuch Guide de L utilisateur Avantgarde www.avantgarde-vs.de Avantgarde 3.0 User s Guide Benutzerhandbuch Guide de L utilisateur ING.-BÜRO JOACHIM NÜß Kremser Straße 25 D-78052 Villingen-Schwenningen Copyright: 2010 ING.-BÜRO JOACHIM

Mehr

1. Vorbereiten das Host, folgende Software Pakete müssen installiert werden: gnome-devel bison flex texinfo libncurses5-dev git codeblocks putty

1. Vorbereiten das Host, folgende Software Pakete müssen installiert werden: gnome-devel bison flex texinfo libncurses5-dev git codeblocks putty 1. Vorbereiten das Host, folgende Software Pakete müssen installiert werden: gnome-devel bison flex texinfo libncurses5-dev git codeblocks putty 2. Buildroot installieren Buildroot (www.buildroot.org)

Mehr

Anwenderdokumentation PersoSim

Anwenderdokumentation PersoSim Anwenderdokumentation PersoSim Die nachfolgende Anwenderdokumentation soll dem Anwender bei der Installation und den ersten Schritten im Umgang mit PersoSim helfen. Installation Grundvoraussetzung für

Mehr

2.4 Das erste C++-Programm *

2.4 Das erste C++-Programm * 2.4 Das erste C++-Programm * 11 2.4 Das erste C++-Programm * Den besten Lernerfolg erzielen Sie, wenn Sie alle Beispiele dieses Buchs selbst nachvollziehen. Sie können hierzu einen Compiler verwenden,

Mehr

Kurzanleitung CodeBlocks zur C-Programmierung. In dieser Kurzanleitung wird anhand zweier Beispiele beschrieben, wie C-Programme mit der

Kurzanleitung CodeBlocks zur C-Programmierung. In dieser Kurzanleitung wird anhand zweier Beispiele beschrieben, wie C-Programme mit der Fakultät für Ingenieurwissenschaften und Informatik Labor für Digital- und Mikroprozessortechnik, Juli 2015 Kurzanleitung CodeBlocks zur C-Programmierung In dieser Kurzanleitung wird anhand zweier Beispiele

Mehr

Virtualisierung mit Virtualbox

Virtualisierung mit Virtualbox Virtualisierung mit Virtualbox Dies ist kein Howto im herkömmlichen Sinne. Genaue Anleitungen für Virtualbox gibt es im Intenet genug. Zu empfehlen ist auch das jeweils aktuelle Handbuch von Virtualbox

Mehr

ab Redirector-Version 2.14

ab Redirector-Version 2.14 Installation: FilterSurf ab Redirector-Version 2.14 Hier werden nun die Schritte erläutert, die nacheinander zu durchlaufen sind, um einen der zentralen FilterSurf -Server verwenden zu können. Die Installationsschritte

Mehr

Einführung in Automation Studio

Einführung in Automation Studio Einführung in Automation Studio Übungsziel: Der links abgebildete Stromlaufplan soll mit einer SPS realisiert werden und mit Automation Studio programmiert werden. Es soll ein Softwareobjekt Logik_1 in

Mehr

webpdf für VMware SoftVision Development GmbH Kurfürstenstraße 15 36037 Fulda, Deutschland Tel.: +49 (0)661 25100-0 Fax: +49 (0)661 25100-25

webpdf für VMware SoftVision Development GmbH Kurfürstenstraße 15 36037 Fulda, Deutschland Tel.: +49 (0)661 25100-0 Fax: +49 (0)661 25100-25 webpdf für VMware SoftVision Development GmbH Kurfürstenstraße 15 36037 Fulda, Deutschland Tel.: +49 (0)661 25100-0 Fax: +49 (0)661 25100-25 E-Mail: sales@softvision.de Web: www.softvision.de Inhaltsverzeichnis

Mehr

Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2

Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2 Erstellung eines SharkNet Installers für Windows mit Inno Setup Compiler 5.4.2 1. Benötigte Software Zur Erstellung des Installers wird folgende Software benötigt. Es wird sich in dieser Dokumentation

Mehr

09.10.2015. 02.10.2015 + 07.10.2015 Seite 1. 02.10.2015 + 07.10.2015 Seite 2

09.10.2015. 02.10.2015 + 07.10.2015 Seite 1. 02.10.2015 + 07.10.2015 Seite 2 02.10.2015 + 07.10.2015 Seite 1 02.10.2015 + 07.10.2015 Seite 2 1 Anzahl der Klassenarbeiten: Mindestens zwei Klassenarbeiten pro Halbjahr (= 4 KA pro Jahr) Im ersten Ausbildungsjahr gibt es jedoch kein

Mehr

Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG

Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG Um mit IOS2000/DIALOG arbeiten zu können, benötigen Sie einen Webbrowser. Zurzeit unterstützen wir ausschließlich

Mehr

mit Programmen Arbeiten Was bringt Ihnen dieses Kapitel?

mit Programmen Arbeiten Was bringt Ihnen dieses Kapitel? 25791 Linux - Easy 3 Arbeiten mit Programmen Was bringt Ihnen dieses Kapitel? Wenn Sie unter Linux ein Fenster öffnen, etwas ausdrucken oder ein Dokument schreiben, wird immer ein Programm ausgeführt.

Mehr

Grundlagen. Die Komponenten eines C Programms. Das erste Programm

Grundlagen. Die Komponenten eines C Programms. Das erste Programm Grundlagen 1. Die Komponenten eines C Programms 2. Ein Programm erzeugen und übersetzen 3. Variablen Deklarieren und Werte zuweisen 4. Zahlen eingeben mit der Tastatur 5. Arithmetische Ausdrücke und Berechnungen

Mehr

OpenVPN unter Linux mit KVpnc Stand: 16. Mai 2013

OpenVPN unter Linux mit KVpnc Stand: 16. Mai 2013 1 Vorwort OpenVPN unter Linux mit KVpnc Stand: 16. Mai 2013 Folgende Beschreibung wurde mit einem Ubuntu 7.10 mit Kernel 2.6.22-14, OpenVPN 2.0.9 und KVpnc 0.9.1-rc1 getestet. Ein weiterer erfolgreicher

Mehr

Einführung zu den Übungen aus Softwareentwicklung 1

Einführung zu den Übungen aus Softwareentwicklung 1 Einführung zu den Übungen aus Softwareentwicklung 1 Dipl.-Ing. Andreas Riener Universität Linz, Institut für Pervasive Computing Altenberger Straße 69, A-4040 Linz riener@pervasive.jku.at SWE 1 // Organisatorisches

Mehr

juliteccrm Dokumentation

juliteccrm Dokumentation Customer Relationship Management für kleine und mittelständische Unternehmen juliteccrm Dokumentation 2012, julitec GmbH Page 1 of 12 julitec GmbH Flößaustraße 22 a 90763 Fürth Telefon: +49 911 979070-0

Mehr

Einführung in die Programmiersprache C

Einführung in die Programmiersprache C Einführung in die Programmiersprache C Marcel Arndt arndt@ins.uni-bonn.de Institut für Numerische Simulation Universität Bonn Der Anfang Ein einfaches Programm, das Hello World! ausgibt: #include

Mehr

Hello World in Java. Der Weg zum ersten Java-Programm

Hello World in Java. Der Weg zum ersten Java-Programm Vorwort Hello World in Java Der Weg zum ersten Java-Programm Diese Anleitung wurde unter Windows XP verfasst. Grundsätzlich sollte sie auch unter späteren Windows Versionen wie Windows Vista oder Windows

Mehr

tentoinfinity Apps 1.0 EINFÜHRUNG

tentoinfinity Apps 1.0 EINFÜHRUNG tentoinfinity Apps Una Hilfe Inhalt Copyright 2013-2015 von tentoinfinity Apps. Alle Rechte vorbehalten. Inhalt der online-hilfe wurde zuletzt aktualisiert am August 6, 2015. Zusätzlicher Support Ressourcen

Mehr

Allgemeine Hinweise. Softwareinstallation. Im Rahmen des Praktikums kommt folgende Software zum Einsatz

Allgemeine Hinweise. Softwareinstallation. Im Rahmen des Praktikums kommt folgende Software zum Einsatz Allgemeine Hinweise Softwareinstallation Im Rahmen des Praktikums kommt folgende Software zum Einsatz Programmiersprache: Visual Studio Struktogrammeditor Texteditor Visual Studio Sie erhalten eine kostenlose

Mehr

Installation der kostenlosen Testversion

Installation der kostenlosen Testversion Installation der kostenlosen Testversion Datenbank einrichten Installieren Trial-Lizenz aktivieren Bei Fragen nutzen Sie bitte unseren kostenlosen Support: Telefon: +49 (30) 467086-20 E-Mail: Service@microTOOL.de

Mehr

Copyright (C) Open Source Press

Copyright (C) Open Source Press Witt Göbe: webedition Andreas Witt Thomas Göbe webedition CMS ecommerce Online-Marketing Alle in diesem Buch enthaltenen Programme, Darstellungen und Informationen wurden nach bestem Wissen erstellt.

Mehr

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm

Programmiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm Programmiersprachen Einführung in C Teil 2: Prof. Dr. int main (int argc, char *argv[]) int sum = 0; for (i = 0; i

Mehr

VisiScan 2011 für cobra 2011 www.papyrus-gmbh.de

VisiScan 2011 für cobra 2011 www.papyrus-gmbh.de Überblick Mit VisiScan für cobra scannen Sie Adressen von Visitenkarten direkt in Ihre Adress PLUS- bzw. CRM-Datenbank. Unterstützte Programmversionen cobra Adress PLUS cobra Adress PLUS/CRM 2011 Ältere

Mehr

Dokumentenverwaltung. Copyright 2012 cobra computer s brainware GmbH

Dokumentenverwaltung. Copyright 2012 cobra computer s brainware GmbH Dokumentenverwaltung Copyright 2012 cobra computer s brainware GmbH cobra Adress PLUS ist eingetragenes Warenzeichen der cobra computer s brainware GmbH. Andere Begriffe können Warenzeichen oder anderweitig

Mehr

Installation der USB-Treiber in Windows

Installation der USB-Treiber in Windows Installation der USB-Treiber in Windows Die in diesem Benutzerhandbuch enthaltenen Angaben und Daten können ohne vorherige Ankündigung geändert werden. Soweit nicht anders angegeben, sind die in den Beispielen

Mehr

Programmieren. Wie entsteht ein Programm

Programmieren. Wie entsteht ein Programm Wie entsteht ein Programm 1/9 1. Schritt: Programmentwurf Der wichtigste Teil beim Erstellen eines Programms ist der Programmentwurf. Dabei wird das vorgegebene Problem analysiert, es wird ermittelt, welche

Mehr

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Installation von NetBeans inkl. Glassfish Anwendungs-Server Installation von NetBeans inkl. Glassfish Anwendungs-Server Diese Anleitung führt Sie Schritt für Schritt durch die Einrichtung der Entwicklungsumgebung NetBeans, angefangen beim Download der benötigten

Mehr

Anleitung zur Einrichtung von OpenCV

Anleitung zur Einrichtung von OpenCV Anleitung zur Einrichtung von Dieses Dokument beschreibt die Einrichtung und Funktionsüberprüfung von im Kontext der Lehrveranstaltung. Einrichtung Dieser Abschnitt beschreibt die Einrichtung von unter

Mehr

Handbuch NOXON Favourites Commander

Handbuch NOXON Favourites Commander Handbuch NOXON Favourites Commander TerraTec Electronic GmbH Copyright (c) 2008 TerraTec Electronic GmbH. Permission is granted to copy, distribute and/or modify this document under

Mehr

COLLECTION. Installation und Neuerungen. Märklin 00/H0 Jahresversion 2009. Version 7. Die Datenbank für Sammler

COLLECTION. Installation und Neuerungen. Märklin 00/H0 Jahresversion 2009. Version 7. Die Datenbank für Sammler Die Datenbank für Sammler COLLECTION Version 7 Installation und Neuerungen Märklin 00/H0 Jahresversion 2009 Stand: April 2009 Inhaltsverzeichnis Inhaltsverzeichnis... 2 VORWORT... 3 Hinweise für Anwender,

Mehr

Programmierkurs: Delphi: Einstieg

Programmierkurs: Delphi: Einstieg Seite 1 von 6 Programmierkurs: Delphi: Einstieg Aus Wikibooks Inhaltsverzeichnis 1 Einstieg Einstieg Was ist Delphi Borland Delphi ist eine RAD-Programmierumgebung von Borland. Sie basiert auf der Programmiersprache

Mehr

Python ist leicht zu erlernen, unterstützt mehrere Programmierparadigmen und ist klar strukturiert.

Python ist leicht zu erlernen, unterstützt mehrere Programmierparadigmen und ist klar strukturiert. 1 Einführung In diesem Kapitel wird die moderne Programmiersprache Python vorgestellt. Nach einigen Bemerkungen zur Installation dieser Sprache wird gezeigt, wie Python interaktiv ausgeführt werden kann.

Mehr

SelfLinux-0.12.3. xcdroast. Autor: Johnny Graber (linux@jgraber.ch) Formatierung: Johnny Graber (linux@jgraber.ch) Lizenz: GFDL

SelfLinux-0.12.3. xcdroast. Autor: Johnny Graber (linux@jgraber.ch) Formatierung: Johnny Graber (linux@jgraber.ch) Lizenz: GFDL xcdroast Autor: Johnny Graber (linux@jgraber.ch) Formatierung: Johnny Graber (linux@jgraber.ch) Lizenz: GFDL Ein weit verbreitetes Frontend für cdrecord ist xcdroast. Dieser Text soll einem ermöglichen,

Mehr

DDBAC-SDK unter Linux (mit Wine) Installationsanleitung

DDBAC-SDK unter Linux (mit Wine) Installationsanleitung DDBAC-SDK unter Linux (mit Wine) Installationsanleitung Installation von Wine Einleitung Übersicht Titel Thema Datei DDBAC-SDK unter Linux (mit Wine) Installationsanleitung DDBAC_Wine_Installation.doc

Mehr

INSTALLATION ABACUS ABAWEBCLIENT

INSTALLATION ABACUS ABAWEBCLIENT INSTALLATION ABACUS ABAWEBCLIENT Mai 2005 / EMO v.2005.1 Diese Unterlagen sind urheberrechtlich geschützt. Alle Rechte, auch die der Übersetzung, des Nachdrucks und der Vervielfältigung der Unterlagen,

Mehr

Grundlagen der Verwendung von make

Grundlagen der Verwendung von make Kurzskript zum Thema: Grundlagen der Verwendung von make Stefan Junghans Gregor Gilka 16. November 2012 1 Einleitung In diesem Teilskript sollen die Grundlagen der Verwendung des Programmes make und der

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

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

DesignCAD Toolkit DC Toolkit Pro 2 2D V24. Erste Schritte. Copyright: 2015, Franzis Verlag

DesignCAD Toolkit DC Toolkit Pro 2 2D V24. Erste Schritte. Copyright: 2015, Franzis Verlag DesignCAD Toolkit DC Toolkit Pro 2 2D V24 Erste Schritte Copyright: 2015, Franzis Verlag Impressum Dieses Werk ist urheberrechtlich geschützt. Alle Rechte, auch die der Übersetzung, des Nachdrucks und

Mehr

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter 2 Inhaltsverzeichnis 1 Web-Kürzel 4 1.1 Einführung.......................................... 4 1.2 Web-Kürzel.........................................

Mehr

Zum Abschluss wird gezeigt, wie aus einem C++ Quell-Programm ein ausführbares Programm erzeugt wird. 1. Installation von NetBeans...

Zum Abschluss wird gezeigt, wie aus einem C++ Quell-Programm ein ausführbares Programm erzeugt wird. 1. Installation von NetBeans... Erste Schritte Dieser Teil der Veranstaltung gibt einen ersten Eindruck der Programmierung mit C++. Es wird ein erstes Gefühl von Programmiersprachen vermittelt, ohne auf die gezeigten Bestandteile genau

Mehr

DATA BECKERs Praxishandbuch zu SUSE Linux 10

DATA BECKERs Praxishandbuch zu SUSE Linux 10 DATA BECKERs Praxishandbuch zu SUSE Linux 10 Daniel Koch DATA BECKER Hardware vor dem Kauf prüfen 4. So läuft jede Hardware Längst wird Linux von vielen Hardwareherstellern unterstützt. Ganz reibungslos

Mehr

Anleitung für zwei C++ - Openmp - Beispiele auf der NWZSuperdome

Anleitung für zwei C++ - Openmp - Beispiele auf der NWZSuperdome Anleitung für zwei C++ - Openmp - Beispiele auf der NWZSuperdome (Timo Heinrich, t_hein03@uni-muenster.de) Inhaltsverzeichnis: 0.Einleitung 1.Teil: Helloworldprogramm 1.1 Quellcode: Helloworld.cpp 1.2

Mehr

Freischaltung und Installation von Programm-Modulen

Freischaltung und Installation von Programm-Modulen Freischaltung und Installation von Programm-Modulen TreesoftOffice.org Copyright Die Informationen in dieser Dokumentation wurden nach bestem Wissen und mit größter Sorgfalt erstellt. Dennoch sind Fehler

Mehr

Freischaltung und Installation von Programm-Modulen

Freischaltung und Installation von Programm-Modulen Freischaltung und Installation von Programm-Modulen Treesoft Office.org Copyright Die Informationen in dieser Dokumentation wurden nach bestem Wissen und mit größter Sorgfalt erstellt. Dennoch sind Fehler

Mehr

Java Programmierung auf der Konsole / unter Eclipse

Java Programmierung auf der Konsole / unter Eclipse Fakultät Informatik, HFU Brückenkurs Programmieren 1 Java Programmierung auf der Konsole / unter Eclipse Allgemeine Begriffe Programmiersprache: künstliche Sprache zur Notation von Programmen Programm:

Mehr

Alinof Key s Benutzerhandbuch

Alinof Key s Benutzerhandbuch Alinof Key s Benutzerhandbuch Version 3.0 Copyright 2010-2014 by Alinof Software GmbH Page 1/ Vorwort... 3 Urheberechte... 3 Änderungen... 3 Systemvoraussetzungen für Mac... 3 Login... 4 Änderung des Passworts...

Mehr

NanoDMX USB Interface

NanoDMX USB Interface NanoDMX USB Interface Bedienungsanleitung Art.-Nr.: 99-0400 NanoDMX USB Interface 2 Beschreibung Das NanoDMX USB Interface ist ein Adapterkabel das sehr einfach die Steuerung von DMX-fähigen Geräten über

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

Zeiterfassung-Konnektor Handbuch

Zeiterfassung-Konnektor Handbuch Zeiterfassung-Konnektor Handbuch Inhalt In diesem Handbuch werden Sie den Konnektor kennen sowie verstehen lernen. Es wird beschrieben wie Sie den Konnektor einstellen und wie das System funktioniert,

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

Das Handbuch zu KSnapshot

Das Handbuch zu KSnapshot Richard J. Moore Robert L. McCormick Brad Hards Korrektur: Lauri Watts Entwickler: Richard J Moore Entwickler: Matthias Ettrich Übersetzung des Handbuchs: Robert Gogolok Übersetzung des Handbuchs: Kilian

Mehr

AnSyS.B4C. Anleitung/Dokumentation. für die Installation des Barcode-Hand-Scanners. Honeywell Voyager 1400g. AnSyS GmbH 2015.

AnSyS.B4C. Anleitung/Dokumentation. für die Installation des Barcode-Hand-Scanners. Honeywell Voyager 1400g. AnSyS GmbH 2015. AnSyS.B4C Anleitung/Dokumentation für die Installation des Barcode-Hand-Scanners Honeywell Voyager 1400g (unter Windows) AnSyS GmbH 2015 Seite 1 2015 AnSyS GmbH Stand: 29.09.15 Urheberrecht und Gewährleistung

Mehr

GUI Programmierung mit GTK

GUI Programmierung mit GTK LinuxFocus article number 295 http://linuxfocus.org GUI Programmierung mit GTK by Özcan Güngör About the author: Ich benutze Linux seit 1997. Freiheit, Flexibilität, Open

Mehr

Praktikum Ingenieurinformatik. Termin 2. Mein erstes C-Programm

Praktikum Ingenieurinformatik. Termin 2. Mein erstes C-Programm Praktikum Ingenieurinformatik Termin 2 Mein erstes C-Programm 1 1. Einleitung 2. Erstes C-Programm 3. Fehler ins Programm einbauen 4. Zweites und drittes C-Programm 5. Installation der Visual C++ 2010

Mehr

Byte-Taxi. Bedienungsanleitung. Seite 1 von 8

Byte-Taxi. Bedienungsanleitung. Seite 1 von 8 Byte-Taxi Bedienungsanleitung Seite 1 von 8 Inhaltsverzeichnis 1. Beschreibung 3 2. Systemvoraussetzungen 4 3. Installationsanleitung 5 4. Bedienung 6 5. Infos & Kontakt 8 Seite 2 von 8 1. Beschreibung

Mehr

Zuweiserportal - Zertifikatsinstallation

Zuweiserportal - Zertifikatsinstallation Zuweiserportal - Zertifikatsinstallation Inhaltsverzeichnis 1. Installation des Clientzertifikats... 1 1.1 Windows Vista / 7 mit Internet Explorer 8... 1 1.1.1 Zertifikatsabruf vorbereiten... 1 1.1.2 Sicherheitseinstellungen

Mehr

Übung 4: Schreiben eines Shell-Skripts

Übung 4: Schreiben eines Shell-Skripts Aufgabenteil 1 Ziel der Übung Übung 4: Schreiben eines Shell-Skripts Anhand eines einfachen Linux-Skripts sollen die Grundlagen der Shell-Programmierung vermittelt werden. Das für die Bash-Shell zu erstellende

Mehr

IDEP / KN8 für WINDOWS. Schnellstart

IDEP / KN8 für WINDOWS. Schnellstart IDEP / KN8 für WINDOWS Schnellstart 1. INSTALLATION 1.1 ÜBER DAS INTERNET Auf der Webseite von Intrastat (www.intrastat.be) gehen Sie nach der Sprachauswahl auf den Unterpunkt Idep/Gn8 für Windows. Dann

Mehr

Bedienung von BlueJ. Klassenanzeige

Bedienung von BlueJ. Klassenanzeige Im Folgenden werden wichtige Funktionen für den Einsatz von BlueJ im Unterricht beschrieben. Hierbei wird auf den Umgang mit Projekten, Klassen und Objekten eingegangen. Abgeschlossen wird dieses Dokument

Mehr

So bringst du Prolog zum Laufen...

So bringst du Prolog zum Laufen... Diese Anleitung soll dir dabei helfen den freien Prolog-Interpreter SWI-Prolog zu installieren einen geeigneten Texteditor auszuwählen, mit dem du Prolog-Programme schreiben kannst das erste kleine Programm

Mehr

Remaster-Kit Anleitung von Carsten Rohmann und Leszek Lesner

Remaster-Kit Anleitung von Carsten Rohmann und Leszek Lesner Remaster-Kit Anleitung von Carsten Rohmann und Leszek Lesner 1. Was ist Remaster-Kit? Remaster-Kit ist ein Programm, welches das Remastern und Neubauen von ZevenOS-Neptune und anderen Debian- bzw. Ubuntu-basierenden

Mehr

08.05.2012 UNIX. Linux. UNIX Derivate, die wichtigsten. Free BSD (Open) Solaris MacOS X Linux. UNIX Dateisystem, wichtige Ordner.

08.05.2012 UNIX. Linux. UNIX Derivate, die wichtigsten. Free BSD (Open) Solaris MacOS X Linux. UNIX Dateisystem, wichtige Ordner. 23 UNIX Einführung in Betriebssysteme UNIX AM BEISPIEL LINUX entwickelt Anfang der 1970er Jahre von Ken Thompson und Dennis Ritchie (Bell Laboratories) Quelle: Wikipedia Zusammen und auf der Basis von

Mehr

Rembo/mySHN. Version 2.0 Kurzanleitung. das selbstheilende Netzwerk. Stand: 01.05.2006. my selfhealing network

Rembo/mySHN. Version 2.0 Kurzanleitung. das selbstheilende Netzwerk. Stand: 01.05.2006. my selfhealing network Rembo/mySHN Version 2.0 Kurzanleitung das selbstheilende Netzwerk my selfhealing network Stand: 01.05.2006 Postanschrift: SBE network solutions GmbH Edisonstrasse 21 74076 Heilbronn IV Inhalt Kurzanleitung...i

Mehr

HILFE Bedienungsanleitung für die Administrationsseite Ihres Online-Shops

HILFE Bedienungsanleitung für die Administrationsseite Ihres Online-Shops HILFE Bedienungsanleitung für die Administrationsseite Ihres Online-Shops Auf den folgenden Seiten wird beschrieben, wie Sie den Online-Shop bedienen können! Für den Anfang ist es wichtig, Gruppen anzulegen.

Mehr

Installationsanleitung. Novaline Finanzbuchhaltung Fibu.One

Installationsanleitung. Novaline Finanzbuchhaltung Fibu.One Installationsanleitung Novaline Finanzbuchhaltung Fibu.One Mai 2013 Inhaltsverzeichnis Systemvoraussetzungen...3 Installation der Programme...5 1. Überprüfen / Installieren von erforderlichen Software-Komponenten...5

Mehr

Mac Quick Guide für die Migration zum HIN Client

Mac Quick Guide für die Migration zum HIN Client Mac Quick Guide für die Migration zum HIN Client Anleitung zur Migration vom ASAS Client zum neuen HIN Client in Schritten:. Schritt 2. Schritt. Schritt Installation HIN Client Software Installiert die

Mehr

Autor: Uwe Labs Stand: 21.03.2008. 1. WinSecureCopy in der paedml 3.0 Novell...1

Autor: Uwe Labs Stand: 21.03.2008. 1. WinSecureCopy in der paedml 3.0 Novell...1 . WinSecureCopy in der paedml 3.0 Novell Autor: Uwe Labs Stand: 2.03.2008 Inhaltsverzeichnis. WinSecureCopy in der paedml 3.0 Novell..... Übersicht....2. Installation und Start....3. Benutzung von WinSCP...6..

Mehr

Installation im Netzwerk

Installation im Netzwerk Durchführung der Netzwerk bzw. Mehrplatzinstallation Bitte gehen Sie bei der Installation wie folgt vor: Bitte wählen sie einen Rechner aus, der als Datenbankserver eingesetzt werden soll. Dieser PC sollte

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

COSA. Portal Client Installation JAVA J2SE / JRE Version 1.4.2_09, Stand 01.08.2005-08-16. Copyright

COSA. Portal Client Installation JAVA J2SE / JRE Version 1.4.2_09, Stand 01.08.2005-08-16. Copyright Portal Client Installation JAVA J2SE / JRE Version 1.4.2_09, Stand 01.08.2005-08-16 Änderungen in Dokumentation und Software sind vorbehalten! Copyright Copyright 2005 COSA GmbH Alle Rechte vorbehalten.

Mehr

SOLID EDGE INSTALLATION STANDARD PARTS am Server. INSTALLATION Standard Parts am Server

SOLID EDGE INSTALLATION STANDARD PARTS am Server. INSTALLATION Standard Parts am Server INSTALLATION Standard Parts am Server 1 Allgemeines Die ST4 Standard Parts benötigen den MS SQL SERVER 2005/2008 oder MS SQL SERVER 2005/2008 EXPRESS am SERVER Auf der Solid Edge DVD befindet sich der

Mehr

Ein Word-Dokument anlegen

Ein Word-Dokument anlegen 34 Word 2013 Schritt für Schritt erklärt Ein Word-Dokument anlegen evor Sie einen Text in Word erzeugen können, müssen Sie zunächst einmal ein neues Dokument anlegen. Die nwendung stellt zu diesem Zweck

Mehr

AKTUEL ZU JAVA 8 PROGRAMMIEREN IN JAVA. 7. Auflage. Im Internet: Alle Beispielprogramme und Lösungen

AKTUEL ZU JAVA 8 PROGRAMMIEREN IN JAVA. 7. Auflage. Im Internet: Alle Beispielprogramme und Lösungen L AKTUEL ZU fritz JOBST JAVA 8 PROGRAMMIEREN IN JAVA 7. Auflage Im Internet: Alle Beispielprogramme und Lösungen 4 1 Der Einstieg in Java keinem Fall zulässig. Die Schreibweisen Hello.java für den Namen

Mehr

Das Handbuch zu Blogilo. Mehrdad Momeny Übersetzung: Burkhard Lück

Das Handbuch zu Blogilo. Mehrdad Momeny Übersetzung: Burkhard Lück Mehrdad Momeny Übersetzung: Burkhard Lück 2 Inhaltsverzeichnis 1 Einführung 5 2 Blogilo benutzen 6 2.1 Erste Schritte......................................... 6 2.2 Einen Blog einrichten....................................

Mehr

INSTALLATION und BENUTZUNG von REAL VNC 3.3.5-7

INSTALLATION und BENUTZUNG von REAL VNC 3.3.5-7 INSTALLATION und BENUTZUNG von REAL VNC 3.3.5-7 Einleitung: Real VNC ist ein Remote Programm das zur Fernwartung von PCs über das Internet verwendet werden kann. It is fully cross-platform das heißt man

Mehr

Installation und Bedienung von vappx

Installation und Bedienung von vappx Installation und Bedienung von vappx in Verbindung mit WH Selfinvest Hosting Inhalt Seite 1. Installation Client Software 2 2. Starten von Anwendungen 5 3. Verbindung zu Anwendungen trennen/unterbrechen

Mehr