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



Preis je Teilnehmer

Erfahrungsberichte (2)

Kombinierte Kurse

Combined C/C++, JAVA and Web Application Security

28 Stunden

Advanced Java Security

21 Stunden

Combined JAVA, PHP and Web Application Security

28 Stunden

Standard Java Security

14 Stunden

Java and Web Application Security

21 Stunden

Advanced Java, JEE and Web Application Security

28 Stunden

Verwandte Kategorien