Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
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