Plan Szkolenia

Wprowadzenie

  • Przegląd funkcji i zastosowań języka C

Przygotowanie środowiska programistycznego

  • Wybór IDE
  • Konfigurowanie kompilatora

Pisanie przykładowego programu

  • Definiowanie problemu
  • Kodowanie zgodnie z wymaganiami

Definiowanie zakresu zmiennych i funkcji

  • Zrozumienie zakresu, widoczności i czasu życia
  • Praca z klasami pamięci masowej: auto, extern, register, static

Zarządzanie danymi w programie C

  • Poza prymitywnymi typami danych
  • Praca z zaawansowanymi typami danych: struktury, listy połączone itp.
  • Przechowywanie różnych typów danych w tej samej lokalizacji pamięci

Modyfikowanie właściwości zmiennej

  • Więcej niż modyfikatory typu
  • Praca z kwalifikatorami typu: stałe, zmienne itp.

Manipulowanie bitami w C

  • Praca z danymi mniejszymi niż bajt
  • Praca z operatorami manipulacji bitami

Kontrolowanie przepływu programu

  • Więcej niż sekwencjonowanie
  • Korzystanie z instrukcji goto

Odczyt i zapis danych

  • Podsumowanie funkcji wejścia/wyjścia
  • Poprawa czytelności danych wyjściowych

Tworzenie kodu międzyplatformowego

  • Zrozumienie dyrektyw kompilatora
  • Kompilowanie kodu warunkowo

Zwiększanie wydajności programu

  • Makra a funkcje
  • Definiowanie makr do uruchamiania fragmentów programu

Dynamiczne przydzielanie pamięci

  • Zaleta korzystania ze wskaźników: szybkość wykonania
  • Wskaźniki do funkcji
  • Accessw pamięci i manipulowanie adresem

Debugowanie programu C

  • Zaawansowane techniki sprawdzania, wykrywania i poprawiania błędów
  • Praca z gdb (Gnu Debugger)

Tworzenie biblioteki statycznej

  • Jak biblioteka statyczna jest łączona z plikiem wykonywalnym
  • Tworzenie biblioteki statycznej

Tworzenie biblioteki współdzielonej

  • Biblioteki statyczne a biblioteki współdzielone (biblioteki dynamiczne)
  • W jaki sposób biblioteka współdzielona jest łączona i ładowana do pamięci w czasie wykonywania
  • Tworzenie biblioteki współdzielonej

Abstrakcja danych w programie

  • Przegląd interfejsu, specyfikacji i implementacji
  • Tworzenie abstrakcyjnego typu danych
  • Testowanie regresyjne abstrakcyjnego typu danych

Searching i sortowanie danych

  • Searching tablic przy użyciu wyszukiwania liniowego, wyszukiwania binarnego itp.
  • Sortowanie tablic przy użyciu sortowania selekcyjnego, sortowania przez wstawianie, sortowania bąbelkowego

Procesy międzyprocesowe Communication i sygnały

  • Zrozumienie procesów, gniazd i sygnałów
  • Wdrażanie IPC przy użyciu plików współdzielonych, pamięci współdzielonej, potoków, kolejek komunikatów, gniazd, semaforów itp.

Równoległe uruchamianie programu w języku C

  • Uruchamianie różnych części programu współbieżnie poprzez wielowątkowość
  • Pisanie wątku

Advanced Networking Programming

  • Podsumowanie protokołów TCP, UDP, IP i innych dominujących protokołów
  • Obsługa wielu portów, przetrwanie nagłych zakłóceń w sieci itp.
  • Pisanie potężnych interfejsów API gniazd

W kierunku kodu wysokiej jakości

  • Wzajemna weryfikacja kodu i programowanie równoległe
  • Znaczenie iteracyjnego kodowania (refaktoryzacji)

Podsumowanie i wnioski

Wymagania

  • Doświadczenie w programowaniu w języku C

Uczestnicy

  • Programiści
  • Deweloperzy
 28 godzin

Liczba uczestników


cena netto za uczestnika

Opinie uczestników (2)

Propozycje terminów

Powiązane Kategorie