Szkolenie dostępne na zamówienie

Szkolenie: Zaawansowane programowanie w języku C

Zaawansowane aspekty programowania w języku C

  • Trenerzy praktycy
  • Kameralne grupy

Czas trwania szkolenia:3 dni (24h)

Poziom zaawansowania:

Kod kursu:C/ADV

programmingmultithreadingc

Szkolenie na zamówienie

  • Dostosowany program
  • Indywidualna wycena
  • Dowolny termin
Zapytanie o szkolenie

Zaawansowane programowanie w języku C

Cele szkolenia

  • Poznanie zaawansowanych aspektów programowania oraz konstrukcji języka C

  • Umiejętność tworzenia aplikacji na architektury 32- i 64-bitowe

  • Praktyka bezpiecznego zarządzania pamięcią oraz tworzenia i testowania aplikacji wielowątkowych


Dla kogo?

  • Szkolenie adresowane jest do osób znających język C chcących poszerzyć swoje kompetencje i umiejętności w zakresie programowania i optymalizacji aplikacji


Zalety

  • Szkolenie oparte jest o najnowszy standard języka C

  • Uczestnicy zrealizują wiele praktycznych zadań, które zobrazują poruszane problemy implementacyjne

  • Podczas szkolenia w praktyce zostaną wykorzystane narzędzia profilowania i optymalizacji aplikacji w języku C

  • Praktyka przed teorią - wszystkie szkolenia technologiczne prowadzone są w formie warsztatowej. Konieczna teoria jest wyjaśniana na przykładzie praktycznych zadań

  • Konkretne umiejętności - w ramach każdego szkolenia rozwijamy praktyczne umiejętności związane z daną technologią i tematyką

  • Nauka z praktykami - wszyscy trenerzy na co dzień pracują w projektach, gwarantuje to dostęp do eksperckiej wiedzy i praktycznego know-how


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

Pobierz program w PDF

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

Autorem szkolenia jest Piotr Nazimek

Jestem absolwentem Wydziału Elektroniki i Technik Informacyjnych Politechniki Warszawskiej. W 2012 roku obroniłem doktorat z obszaru niezawodności systemów komputerowych. Interesuję się szeroko pojętym bezpieczeństwem systemów komputerowych oraz inżynierią oprogramowania. Zawodowo pracuję od 2003 roku. Wolny czas spędzam na wyprawach rowerowych i w górach.