Schulungsübersicht

Einführung

  • Überblick über die Funktionen und Anwendungen von C

Vorbereiten der Entwicklungsumgebung

  • Auswahl einer IDE
  • Den Compiler konfigurieren

Schreiben eines Beispielprogramms

  • Definition des Problems
  • Kodierung gemäß den Anforderungen

Definieren des Anwendungsbereichs von Variablen und Funktionen

  • Verstehen von Geltungsbereich, Sichtbarkeit und Lebensdauer
  • Arbeiten mit Speicherklassen: auto, extern, register, static

Verwaltung von Daten in einem C-Programm

  • Jenseits primitiver Datentypen
  • Arbeiten mit fortgeschrittenen Datentypen: Strukturen, verknüpfte Listen, usw.
  • Speichern verschiedener Datentypen am selben Speicherplatz

Ändern der Eigenschaften einer Variablen

  • Über Typmodifikatoren hinaus
  • Arbeiten mit Typbezeichnern: konstant, flüchtig, etc.

Manipulation von Bits in C

  • Arbeiten mit Daten, die kleiner als ein Byte sind
  • Arbeiten mit Bitmanipulationsoperatoren

Steuerung des Programmablaufs

  • Jenseits der Sequenzierung
  • Verwendung der goto-Anweisung

Lesen und Schreiben von Daten

  • Rekapitulation der Input/Output-Funktionen
  • Verbesserung der Lesbarkeit der Ausgabe

Entwicklung von plattformübergreifendem Code

  • Verständnis der Compiler-Direktiven
  • Bedingte Kompilierung von Code

Verbesserung der Programmleistung

  • Makros vs. Funktionen
  • Definition von Makros zur Ausführung von Programmfragmenten

Dynamische Zuweisung von Speicher

  • Vorteil der Verwendung von Zeigern: Ausführungsgeschwindigkeit
  • Zeiger auf Funktionen
  • Accessing Speicher und Manipulation der Adresse

Fehlersuche in einem C-Programm

  • Fortgeschrittene Techniken zum Prüfen, Erkennen und Korrigieren von Fehlern
  • Arbeiten mit gdb (Gnu Debugger)

Erstellen einer statischen Bibliothek

  • Wie eine statische Bibliothek mit einer ausführbaren Datei verknüpft wird
  • Erstellen einer statischen Bibliothek

Gemeinsame Bibliothek erstellen

  • Statische Bibliotheken vs. gemeinsam genutzte Bibliotheken (dynamische Bibliotheken)
  • Wie eine gemeinsam genutzte Bibliothek verknüpft und zur Laufzeit in den Speicher geladen wird
  • Erstellen einer Shared Library

Abstrahieren von Daten in Ihrem Programm

  • Überblick über Schnittstelle, Spezifikation und Implementierung
  • Erstellen eines abstrakten Datentyps
  • Regressionstest eines abstrakten Datentyps

Searching und Sortierung von Daten

  • Search Arrays mit linearer Suche, binärer Suche, etc.
  • Sortieren von Feldern mittels Auswahlsortierung, Einfügesortierung, Blasensortierung

Interprozess Communication und Signale

  • Verstehen von Prozessen, Sockets und Signalen
  • Implementierung von IPC unter Verwendung von gemeinsam genutzten Dateien, gemeinsam genutztem Speicher, Pipes, Nachrichtenwarteschlangen, Sockets, Semaphoren usw.

Ihr C-Programm parallel laufen lassen

  • Gleichzeitige Ausführung verschiedener Teile eines Programms durch Multithreading
  • Schreiben eines Threads

Fortgeschrittene Netzwerkarbeit Programming

  • Rekapitulation von TCP, UDP, IP und anderen gängigen Protokollen
  • Bedienung mehrerer Ports, Überleben bei plötzlichen Netzwerkunterbrechungen, usw.
  • Schreiben leistungsfähiger Socket-APIs

Auf dem Weg zu qualitativ hochwertigem Code

  • Peer Code Review und parallele Programmierung
  • Die Bedeutung der iterativen Kodierung (Refactoring)

Zusammenfassung und Schlussfolgerung

Voraussetzungen

  • C-Programmiererfahrung

Publikum

  • Programmierer
  • Entwickler
 28 Stunden

Teilnehmerzahl


Price per participant (excl. VAT)

Erfahrungsberichte (2)

Kommende Kurse

Verwandte Kategorien