Course Code: advancedc
Duration: 28 hours
Prerequisites:
  • Doświadczenie w programowaniu w języku C

Publiczność

  • Programiści
  • Deweloperzy
Overview:

Język programowania C jest jednym z najpopularniejszych języków programowania, szczególnie w dziedzinie programowania systemów i rozwoju systemów wbudowanych.

Szkolenie na żywo prowadzone przez instruktora (na miejscu lub zdalnie) jest przeznaczone dla programistów, którzy chcą wykorzystać bardziej zaawansowane funkcje i możliwości C', aby zoptymalizować i rozszerzyć moc, odporność i jakość swoich aplikacji.

Po zakończeniu tego szkolenia uczestnicy będą w stanie

  • Efektywne rozwiązywanie problemów poprzez pisanie wysokiej jakości kodu.
  • Wybieranie odpowiednich metod i podejść do danego zadania.

Format kursu

  • Interaktywny wykład i dyskusja.
  • Dużo ćwiczeń i praktyki.
  • Praktyczne wdrożenie w środowisku live-lab.

Opcje dostosowywania kursu

  • Aby zamówić niestandardowe szkolenie dla tego kursu, skontaktuj się z nami.
Course Outline:

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

Sites Published:

United Arab Emirates - Advanced C Programming

Qatar - Advanced C Programming

Egypt - Advanced C Programming

Saudi Arabia - Advanced C Programming

South Africa - Advanced C Programming

Brasil - Advanced C Programming

Canada - Advanced C Programming

中国 - Advanced C Programming

香港 - Advanced C Programming

澳門 - Advanced C Programming

台灣 - Advanced C Programming

USA - Advanced C Programming

Österreich - Advanced C Programming

Schweiz - Advanced C Programming

Deutschland - Advanced C Programming

Czech Republic - Advanced C Programming

Denmark - Advanced C Programming

Estonia - Advanced C Programming

Finland - Advanced C Programming

Greece - Advanced C Programming

Magyarország - Advanced C Programming

Ireland - Advanced C Programming

Luxembourg - Advanced C Programming

Latvia - Advanced C Programming

España - Advanced C Programming

Italia - Advanced C Programming

Lithuania - Advanced C Programming

Nederland - Advanced C Programming

Norway - Advanced C Programming

Portugal - Advanced C Programming

România - Advanced C Programming

Sverige - Advanced C Programming

Türkiye - Advanced C Programming

Malta - Advanced C Programming

Belgique - Advanced C Programming

France - Advanced C Programming

日本 - Advanced C Programming

Australia - Advanced C Programming

Malaysia - Advanced C Programming

New Zealand - Advanced C Programming

Philippines - Advanced C Programming

Singapore - Advanced C Programming

Thailand - Advanced C Programming

Vietnam - Advanced C Programming

India - Advanced C Programming

Argentina - Advanced C Programming

Chile - Advanced C Programming

Costa Rica - Advanced C Programming

Ecuador - Advanced C Programming

Guatemala - Advanced C Programming

Colombia - Advanced C Programming

México - Advanced C Programming

Panama - Advanced C Programming

Peru - Advanced C Programming

Uruguay - Advanced C Programming

Venezuela - Advanced C Programming

Polska - Advanced C Programming

United Kingdom - Advanced C Programming

South Korea - Advanced C Programming

Pakistan - Advanced C Programming

Sri Lanka - Advanced C Programming

Bulgaria - Advanced C Programming

Bolivia - Advanced C Programming

Indonesia - Advanced C Programming

Kazakhstan - Advanced C Programming

Moldova - Advanced C Programming

Morocco - Advanced C Programming

Tunisia - Advanced C Programming

Kuwait - Advanced C Programming

Oman - Advanced C Programming

Slovakia - Advanced C Programming

Kenya - Advanced C Programming

Nigeria - Advanced C Programming

Botswana - Advanced C Programming

Slovenia - Advanced C Programming

Croatia - Advanced C Programming

Serbia - Advanced C Programming

Bhutan - Advanced C Programming

Nepal - Advanced C Programming

Uzbekistan - Advanced C Programming