Szkolenie: Zaawansowane programowanie w języku C
Szkolenie zaawansowane programowanie w języku C rozwija praktyczne umiejętności w zakresie zarządzania pamięcią, programowania wielowątkowego, optymalizacji i profilowania kodu, przygotowując do tworzenia wydajnych i bezpiecznych aplikacji na platformy 32- i 64-bitowe
- Trenerzy praktycy
- Kameralne grupy
Czas trwania szkolenia:3 dni (24h)
Kod kursu:C/ADV
Zaawansowane programowanie w języku C
Cele szkolenia
Szkolenie przygotowuje do samodzielnego projektowania i implementowania zaawansowanych aplikacji w języku C z uwzględnieniem bezpieczeństwa i wydajności
Szkolenie uczy stosowania narzędzi do profilowania, debugowania i optymalizacji kodu w środowisku Linux oraz na różnych architekturach sprzętowych
Szkolenie rozwija umiejętność tworzenia i testowania aplikacji wielowątkowych oraz efektywnego zarządzania pamięcią
Dla kogo?
Programiści posiadający doświadczenie w języku C, chcący poszerzyć kompetencje w zakresie zaawansowanego programowania i optymalizacji
Inżynierowie oprogramowania realizujący projekty wymagające wysokiej wydajności i bezpieczeństwa kodu
Osoby odpowiedzialne za rozwój i utrzymanie aplikacji na platformach 32- i 64-bitowych, znające podstawy języka C
Efekty kształcenia
Uczestnik projektuje aplikacje w języku C z wykorzystaniem zaawansowanych konstrukcji językowych
Uczestnik analizuje i optymalizuje wydajność kodu przy użyciu specjalistycznych narzędzi
Uczestnik wdraża bezpieczne techniki zarządzania pamięcią i zapobiega typowym błędom
Uczestnik implementuje i testuje aplikacje wielowątkowe na różnych platformach
Uczestnik wykorzystuje narzędzia do profilowania i debugowania aplikacji
Uczestnik stosuje dobre praktyki programistyczne zgodne z najnowszym standardem języka C
Wymagania
Od uczestników szkolenia wymagana jest umiejętność programowania w języku C
W cenie otrzymasz:
Materiały szkoleniowe
Certyfikat ukończenia szkolenia
W przypadku szkolenia w trybie stacjonarnym zapewnimy Ci również lunch oraz sprzęt niezbędny do nauki
Program szkolenia
Programowanie i elementy języka C
Instrukcje języka
Działanie wskaźników
Stos i sterta
Tablice wielowymiarowe
Formatowanie ciągów znaków
Funkcje i makra ze zmienną liczbą argumentów
Funkcje inline
Asembler inline
Przydatne opcje preprocesora i kompilatora
Kompilator GCC, Clang i MSVC
Aplikacje dla systemów 32- i 64-bitowych
Zasady tworzenia przenośnych aplikacji
Wykorzystanie możliwości platformy 64-bitowej
Migracja aplikacji
Arytmetyka
Przegląd typów arytmetycznych
Unikanie błędu przekroczenia zakresu liczb całkowitych
Arytmetyka zmiennoprzecinkowa
Klasy pamięci zmiennych i modyfikatory typów
Zmienne statyczne, zewnętrzne i rejestrowe
Zmienne ulotne
Stałe
Zarządzanie pamięcią
Zapobieganie błędom typu przepełnienie bufora
Wykorzystanie bezpiecznych funkcji
Programowanie wielowątkowe
Projektowanie aplikacji wielowątkowych
API POSIX i Windows dla wątków
Działanie i wykorzystanie interfejsu OpenMP
Funkcje setjmp i longjmp
Synchronizacja pomiędzy wątkami
Testowanie aplikacji wielowątkowych
Narzędzia wspomagające debugowanie i profilowanie aplikacji
Rozszerzenia kompilatorów
gprof
gcov i lcov
Valgrind
OProfile
Optymalizacja aplikacji
Techniki optymalizacji
Rola kompilatora
Optymalizacja a bezpieczeństwo
Wybrane opinie
Przeczytaj pozytywne opinie pochodzące z ankiet satysfakcji z naszych szkoleń wypełnianych wyłącznie przez ich uczestników po realizacji usługi
