Zaawansowane programowanie w języku C

3350 PLN+23% VAT (4120 PLN brutto / 1 os.)

Czas trwania szkolenia:3 dni (24h)

Kod kursu:C/ADV

Poziom zaawansowania:
programmingmultithreadingc

Szkolenie na zamówienie

Szkolenie dostosowane do potrzeb Twojego zespołu. Dostępne wyłącznie na zamówienie.

  • Dostosowany program
  • Indywidualna wycena
  • Dowolny termin
Icon with laptop

O szkoleniu Zaawansowane programowanie 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

Wymagania

  • Od uczestników szkolenia wymagana jest umiejętność programowania w języku C

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

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

Program

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

Podobne szkolenia