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
Opinie uczestników (2)
ćwiczenia i metodologia
Javier MIllan Rios - si
Szkolenie - Advanced C Programming
Przetłumaczone przez sztuczną inteligencję
Zainteresujący i szeroki zakres
Maciej Perkowski - Nordic Semiconductor
Szkolenie - Advanced C Programming
Przetłumaczone przez sztuczną inteligencję