CStrings

Zurück zur Liste der KursAngebote und zum ZeitPlan.

Sichere Strings und Speicher in C

Dieser Kurs vermittelt die richtige Benutzung der String Funktionen und des dynamischen Speichers (malloc/free) unter C. Für C Anfänger ist es besonders verwirrend, wenn man mit den C Strings arbeiten muss, die Folge ist eine Menge Bugs, segmentation faults oder gar nicht kompilierte Sources.

Kursprofil

Thema: Sichere Strings und Speicher in C

Veranstalter: Pablo Yanez Trujillo

Veranstaltungsart: Kurs (Theorie und Praxisübungen)

Termin: Montag, 7. August bis Mittwoch, 9. August nachmittags (siehe ZeitPlan)

Ort: Gebäude 101, Raum 01-016

Schwierigkeitsgrad: {*}{o}{o}

Voraussetzungen: Der Kurs orientiert sich an C Anfängern oder Programmierern, die mit C arbeiten müssen und nicht viel Erfahrung mit C und den C Strings haben. Der Kurs wird auch die korrekte Benutzung des dynamischen Speichers (malloc/free) vermitteln.

(Das Veranstaltungsprofil kann nur von Kursleitern geändert werden; dazu bitte einloggen.)

Teilnehmer

  1. NicolaSheldrick
  2. Steffen Brennscheidt
  3. MatthiasHeizmann
  4. MarkusDobler
  5. ChristophBetz
  6. MichaelMeier

Die Teilnehmerzahl dieser Veranstaltung ist auf 10 Personen beschränkt. Bei Überbelegung bilden die in rot dargestellten Personen die Warteliste.
Die Veranstaltung findet nur statt, sofern sich mindestens 1 Person anmeldet.

<!> Um Dich für diesen Kurs anzumelden, musst Du Dich zunächst beim Sommercampus-Wiki einloggen.

Detailliertes Kursprogramm

Achtung: Der Kursinhalt und die Kursstruktur kann sich jeder Zeit ändern (z.B. manche Themen können an anderen Tagen gehalten werden oder neue Themen werden hinzugefügt).

Dieser Kurs vermittelt die richtige Benutzung der String Funktionen und des dynamischen Speichers (malloc/free) unter C. Für C Anfänger ist es besonders verwirrend, wenn man mit den C Strings arbeiten muss, die Folge ist eine Menge Bugs, segmentation faults oder gar nicht kompilierte Sources.

Obwohl C mittlerweile von C++ oder anderen objektorientierten Sprachen (wie Java) nach und nach verdrängt wird, hat man manchmal keine andere Wahl als C zu benutzen. C wird vor allem in der Unix Systemprogrammierung oder Hardware Programmierung benutzt.

C hat "mehr Macht" über den Speicher als andere Sprachen, da man sehr nah am Speicher arbeiten kann, aber mit der Macht kommt auch die Verantwortung und wenn man nicht sorgfältig mit dem (dynamischen/freien) Speicher umgeht, kann das zu einer Quelle von Bugs und Problemen führen, die schwer herauszufinden sind. Deswegen ist es notwendig die Gundlagen genau zu verstehen, um sichere Anwendungen zu schreiben, die weder Speicher verschwenden noch schlimme Bugs enthalten. Gerade für Hardware Programmierer ist das wichtig, damit man sichere Software für die Hardware schreiben kann.

Sprachen wie C++/Java/C#/usw. haben bequeme Klassen zur String Behandlung, C dagegen nicht. Für C Einsteiger kann es deswegen sehr schwer sein, weil man mit den Strings anders umgehen muss, als man es gewohnt ist. Dieser Kurs geht speziell auf die richtige Verwendung der C Strings und des dynamischen Speichers ein. Am Ende des Kurses werden wir eine kleine Bibliothek schreiben, die die Arbeit mit den C Strings erleichtern wird. Der Kurs ist in 3 Tagen unterteilt.

Wir werden mit ANSI C arbeiten, das bedeutet, dass der Inhalt dieses Kurses Betriebsystem-unabhängig ist und die Beispiele und Übungen sowohl unter Windows als auch unter einem Unix Derivat kompiliert werden können. Im Kurs werde ich aber die Beispiele mit dem [WWW] GNU GCC kompilieren.

Themen

1. Tag

2. Tag

3. Tag

Dokumente

1. Tag

[WWW] Folien Tag 1 (Aktualisiert)

[WWW] beispiele.tar.gz

[WWW] beispiele.zip

2. Tag

[WWW] Folien Tag 2 (Aktualisiert)

[WWW] beispiele.tar.gz

[WWW] beispiele.zip

3. Tag

[WWW] Folien Tag 3

[WWW] projekte.tar.gz

[WWW] projekte.zip

Projekt sc_strings

[WWW] sc_strings-0.0.1.zip

[WWW] sc_strings-0.0.1.tar.gz

[WWW] sc_strings-0.0.1.tar.bz2

Linker Option -lsc_strings für den GNU GCC Compiler