Tipps & Workshops
für Endbenutzer und Entwickler
|
|
|
|
|
Verfasst von Humdinger am Sa, 06.03.2010 - 09:08
|
Um schneller zu den wirklich interessanten Themen zu kommen, C++ Spezialitäten und die Haiku API, hat sich DarkWyrm entschieden die nächsten Lektionen im Doppelpack zu veröffentlichen.
Lektion 8 beleuchtet als ersten den Geltungsbereich von Variablen, also ob sie lokal, global oder static sind. Danach wird kurz auf verschiedene Arten von Konstanten eingegangen, definiert mittels Preprozessor per #define oder als const int und wie das ganze auf Zeiger angewendet wird.
Das nächste große Thema ist das Schreiben und Einlesen von Daten über Streams (stdin, stdout, stderr und Dateien) mittels fprintf(), fgets(), fopen() und Konsorten.
Lektion 9 steht ganz im Zeichen von Arrays und wie mittels Zeiger auf sie zugegriffen werden kann.
Damit ist auch die zweite Lehreinheit abgeschlossen. Zu Einheit 1 (Lektion 1-5) und Einheit 2 (Lektion 6-9) gibt es nochmal zusammenfassende Fragen.
|
|
|
|
|
|
|
|
|
|
Verfasst von Humdinger am So, 28.02.2010 - 19:33
|
Der 7. Teil beginnt mit einem Blick aufs Speichermanagement. Erstmal wie es unter C läuft, die Besonderheiten unter C++ kommen später. Es geht also um malloc(), free() und Konsorten. Der zweite Schwerpunkt dieser Lektion beschäftigt sich mit dem Binärsystem und den Binäroperatoren AND, OR, XOR und NOT, um einzelne Bits ein- und auszuschalten. Außerdem wird gezeigt, wie durch Bitschieben schnell durch 2^n geteilt und multipliziert werden kann.
Zum Abschluss löst DarkWyrm wie immer die letzte Bugjagd auf und organisiert eine neue.
|
|
|
|
|
|
|
|
|
|
Verfasst von Humdinger am Sa, 20.02.2010 - 10:09
|
Die 6. Lektion stellt weitere Möglichkeiten von Schleifen mittels while bzw. do-while vor. Außerdem wird die Auswertung durch switch-case Blöcke gezeigt und wie die bedingte Zuweisung (Bedingung ? Wert-wahr : Wert-unwahr) anstatt umständlicher if-else Konstruktionen benutzt werden kann.
Den Abschluss bildet wieder eine Bugjagd und die Lösungen zur vorigen Lektion. Außerdem werden nochmal die Erkenntnisse der ersten Lektionseinheit (1-5) in kurzen Stichpunkten wiederholt.
|
|
|
|
|
|
|
|
|
|
Verfasst von Humdinger am Sa, 13.02.2010 - 20:03
|
Lektion Nr. 5 des C++ Kurses beschäftigt sich mit Arrays, Strings und Zeigern. Es gibt wieder ein Projekt als Hausaufgabe: Die Übersetzung eines vom User eingegebenen Texts in seine ASCII Werte. Auch eine Bugjagd ist wieder dabei.
Mit der fünften Lektion sind wir laut DarkWyrm etwa auf halben Wege zum ersten echten Haiku Programm mit Fenstern und Buttons usw.
|
|
|
|
|
|
|
|
|
|
Verfasst von Humdinger am Sa, 13.02.2010 - 19:00
|
MIchael Lotz hat sich mal hingesetzt und ausführlich beschrieben, wie man mit malloc_debug Speicher-Bugs jagt.
Jede Anwendung lässt sich mit dem Debug Heap starten, indem man sie vom Terminal aus mit einer speziellen Umgebungsvariablen aufruft:
LD_PRELOAD=libroot_debug.so dieAnwendung
Das Syslog enthält dadurch hilfreiche Informationen, die sich verfolgen lassen mittels:
tail -F /var/log/syslog
In seinem Artikel gibt Michael zu einer Reihe üblicher Bugs Code-Beispiele, woran man sie erkennt, und Tips zur Vermeidung. Da ich keine Ahnung von deren deutscher Bezeichnung habe, hier die Liste der besprochenen Bugs im Original...:
- Using Uninitialized Memory
- Using Already Freed Memory
- Double Free
- Misaligned Free / Free of Unallocated Memory
- Overwriting Memory Past the Allocation
Daneben wird noch auf fortgeschrittene malloc_debug Features hingewiesen, die allerdings entsprechende minimale Änderungen im Sourcecode und bei dessen Linken erfordern:
- Interval Based and Manual Wall Checking
- Paranoid and Manual Validation
- Dumping Heap and Allocation Info
Ein Spitzenartikel, den sich jeder Entwickler, und wer es werden will, in seine Bookmark Sammlung aufnehmen sollte!
|
|
|
|
|
|
|
|
|
|
Verfasst von Humdinger am Sa, 06.02.2010 - 08:20
|
Im 4. Teil von DarkWyrms C++ Kurs geht es um die Verwendung von for-Schleifen und if-else Bedingungen, und die logische Verknüpfung von Ausdrücken mittels AND, OR und NOT. Die Konzepte werden mit einem kleinen Programm zur Kreditrechnung verdeutlicht.
Zum Schluss gibt es wieder eine Bugjagd und die Auflösungen der Lektion 3.
|
|
|
|
|
|
|
|
|
|
Verfasst von Humdinger am Sa, 30.01.2010 - 10:33
|
Der 3. Teil von DarkWyrms C++ Kurs ist erschienen. Er zeigt die Verwendung von Variablen, ihre unterschiedlichen Datentypen und wie man das alles durch verschiedene Operatoren in Funktionen nutzen kann. Dazu werden die Möglichkeiten der Ausgabe mittels printf() vorgestellt, bevor die Lektion mit einer weiteren kleinen Bugjagd und einer Hausaufgabe zur Zinsberechnung endet.
|
|
|
|
|
|
|
|
|
|
Verfasst von Humdinger am Mo, 25.01.2010 - 15:10
|
DarkWyrm hat die zweite Lektion seines Programmierkurses veröffentlicht. Diesmal wird in Kürze erklärt, wie mittels Preprocessor, Compiler, Assembler und Linker aus dem Sourcecode ein ausführbares Programm erzeugt wird. Da auch in Zukunft anhand der Beispielprogramme das auch immer nötige Debuggen gezeigt werden soll, präsentiert DarkWyrm schon mal die ersten paar kryptischen Fehlermeldungen und ihre Bedeutung.
|
|
|
|
|
|
|
|
|
|
Verfasst von Humdinger am Mi, 20.01.2010 - 17:25
|
Haiku Entwickler DarkWyrm legt zwar momentan eine kleine Schaffenspause ein was das Programmieren angeht, beschäftigt sich jedoch weiter indirekt mit Haiku. Um anderen den Einstieg in die C++ Programmierung unter Haiku zu erleichtern, möchte er etwa wöchentlich eine Lektion als PDF veröffentlichen. Ihm und allen Programmieranfängern dürfte dabei zugute kommen, dass er seit über 10 Jahren als Lehrer unterrichtet und ihm daher das Vermitteln von Wissen nicht neu ist.
Die erste Folge ist gerade erschienen und erklärt die absoluten C++ Grundlagen, wie Aufbau von Funktionen, Aufruf des Kompilers und, natürlich, ein erstes HelloWorld im Terminal.
Dies ist eine erstklassige Gelegenheit für alle Noch-Nicht-Programmierer, die man nicht verstreichen lassen sollte! Durch Fragen und Feedback lassen sich die Lektionen aktiv beeinflussen und sonst vielleicht nur angeschnittene Themen vertiefen. Viel besser als irgendwann nur passiv alle Lektionen durchzukauen.
|
|
|
|
|
|
|
|
|
|
Verfasst von Humdinger am Mi, 20.01.2010 - 10:02
|
Wer sich sein Haiku nicht selbst direkt aus dem Sourcecode baut und statt dessen auf die praktischen Nightly Builds zurückgreift, hat ein kleines Problem. Im Gegensatz zur Haiku Alpha Release ist Haiku in diesen Test-Revisionen im spartanischen Rohzustand, d.h. keinerlei Zusatzsoftware für die tägliche Arbeit. Das heißt, es fehlt auch der BeZillaBrowser, ohne den das Suchen und Runterladen von Software nur sehr schwer möglich ist.
Mit dem kürzlich von Matt Madia fertiggestellten Skript installoptionalpackage kann BeZilla und alle anderen Pakete aber kinderleicht nachinstalliert werden. Der Parameter "-l" listet alle verfügbaren Pakete, "-a" installiert das entsprechende Paket und evtl. Abhängigkeiten unter Berücksichtigung der verwendeten Haiku Revision und Kompilerversion.
Das Skript steht in allen aktuellen Images zur Verfügung, ist aber nur eine Zwischenlösung, bis der offizielle Paketmanager fertig ist.
|
|
|
|
|
|